AWS DynamoDB Python连接错误

AWS DynamoDB Python连接错误,python,python-2.7,ubuntu,amazon-web-services,amazon-dynamodb,Python,Python 2.7,Ubuntu,Amazon Web Services,Amazon Dynamodb,无法在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

无法在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)
然后在terminal中运行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以验证它是否正在运行

确保满足文件中给出的所有要求

在开始本教程之前,您需要执行以下操作:

在您的计算机上下载并运行DynamoDB。有关详细信息,请参阅。 注册Amazon Web服务并创建访问密钥。您需要这些凭据才能使用AWS SDK。要创建AWS帐户,请转到 ,选择创建AWS帐户,然后按照 在线说明。 创建AWS凭据文件。有关更多信息,请参阅Boto 3文档中的配置。 安装Python 2.6或更高版本。有关详细信息,请参阅。
当Dynamodb不运行时会发生这种情况。检查localhost:8000/shell以验证它是否正在运行

确保满足文件中给出的所有要求

在开始本教程之前,您需要执行以下操作:

在您的计算机上下载并运行DynamoDB。有关详细信息,请参阅。 注册Amazon Web服务并创建访问密钥。您需要这些凭据才能使用AWS SDK。要创建AWS帐户,请转到 ,选择创建AWS帐户,然后按照 在线说明。 创建AWS凭据文件。有关更多信息,请参阅Boto 3文档中的配置。 安装Python 2.6或更高版本。有关详细信息,请参阅。
如果要连接云实例而不是本地主机,请参考以下基于区域的端点


如果要连接云实例而不是本地主机,请参考以下基于区域的端点


谢谢,这很有效。如何在AWS上而不是在本地计算机上创建表?@acsrujan还想知道如何连接AWS dynamodb,如何设置端点?谢谢,这很有效。如何在AWS上而不是在本地计算机上创建表?@acsrujan还想知道如何连接AWS dynamodb,如何设置端点\u url正确答案!当我从AWS lambda调用dynamodb时,连接被拒绝,这有助于解决我的问题。需要将localhost中的端点URL替换为AWS区域端点中的正确值。回答正确!当我从AWS lambda调用dynamodb时,连接被拒绝,这有助于解决我的问题。需要将localhost中的端点URL替换为AWS区域端点中的正确值。
dynamodb = boto3.resource('dynamodb', region_name='us-west-2', endpoint_url="http://dynamodb.us-west-2.amazonaws.com")