Skip to main content
 首页 » 编程设计

python之AWS DynamoDB Python 连接错误

2025年05月04日14zlslch

无法在 AWS Dynamodb 上运行示例代码。

我正在尝试运行他们在该网站上提供的 AWS 示例 python 代码。这是我的 python 文件:

    from __future__ import print_function # Python 2/3 compatibility 
    import boto3 
 
   dynamodb = boto3.resource('dynamodb', region_name='us-west-2', endpoint_url="http://localhost:8000") 
 
 
   table = dynamodb.create_table( 
       TableName='Movies', 
       KeySchema=[ 
           { 
               'AttributeName': 'year', 
               'KeyType': 'HASH'  #Partition key 
           }, 
           { 
               'AttributeName': 'title', 
               'KeyType': 'RANGE'  #Sort key 
           } 
       ], 
       AttributeDefinitions=[ 
           { 
               'AttributeName': 'year', 
               'AttributeType': 'N' 
           }, 
           { 
               'AttributeName': 'title', 
               'AttributeType': 'S' 
           }, 
 
       ], 
       ProvisionedThroughput={ 
           'ReadCapacityUnits': 10, 
           'WriteCapacityUnits': 10 
       } 
   ) 
 
   print("Table status:", table.table_status) 

然后我在终端中运行 python 文件,出现以下错误:

File "MoviesCreateTable.py", line 32, in <module> 
    'WriteCapacityUnits': 10 
File "/home/name/.local/lib/python2.7/site-packages/boto3/resources/factory.py", line 520, in do_action 
    response = action(self, *args, **kwargs) 
File "/home/name/.local/lib/python2.7/site-packages/boto3/resources/action.py", line 83, in __call__ 
    response = getattr(parent.meta.client, operation_name)(**params) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/client.py", line 159, in _api_call 
    return self._make_api_call(operation_name, kwargs) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/client.py", line 483, in _make_api_call 
    operation_model, request_dict) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/endpoint.py", line 141, in make_request 
    return self._send_request(request_dict, operation_model) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/endpoint.py", line 170, in _send_request 
    success_response, exception): 
File "/home/name/.local/lib/python2.7/site-packages/botocore/endpoint.py", line 249, in _needs_retry 
    caught_exception=caught_exception, request_dict=request_dict) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/hooks.py", line 227, in emit 
    return self._emit(event_name, kwargs) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/hooks.py", line 210, in _emit 
    response = handler(**kwargs) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/retryhandler.py", line 183, in __call__ 
    if self._checker(attempts, response, caught_exception): 
File "/home/name/.local/lib/python2.7/site-packages/botocore/retryhandler.py", line 251, in __call__ 
    caught_exception) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/retryhandler.py", line 277, in _should_retry 
    return self._checker(attempt_number, response, caught_exception) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/retryhandler.py", line 317, in __call__ 
    caught_exception) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/retryhandler.py", line 223, in __call__ 
    attempt_number, caught_exception) 
File "/home/name/.local/lib/python2.7/site-packages/botocore/retryhandler.py", line 359, in _check_caught_exception 
    raise caught_exception 
botocore.vendored.requests.exceptions.ConnectionError: ('Connection aborted.', error(111, 'Connection refused')) 

请您参考如下方法:

当 Dynamodb 未运行时会发生这种情况。检查 localhost:8000/shell 以验证它正在运行。

确保所有 prerequisites满足文档中给出的条件。

Before you begin this tutorial, you need to do the following:

  • Download and run DynamoDB on your computer. For more information, see Download and Run DynamoDB.
  • Sign up for Amazon Web Services and create access keys. You need these credentials to use AWS SDKs. To create an AWS account, go to http://aws.amazon.com/, choose Create an AWS Account, and then follow the online instructions.
  • Create an AWS credentials file. For more information, see Configuration in the Boto 3 documentation.
  • Install Python 2.6 or later. For more information, see https://www.python.org/downloads.