在EC2实例上运行Python DynamoDB

时间:2018-07-17 04:34:06

标签: amazon-web-services amazon-ec2 localhost amazon-dynamodb boto3

我想在Python的EC2实例中使用DynamoDB。我已经在本地对其进行了测试,并使用以下方法在本地设置了DynamoDB资源:

dynamodb = boto3.resource('dynamodb', aws_access_key_id=ACCESS_ID,
     aws_secret_access_key= ACCESS_KEY, region_name='us-west-2', endpoint_url='http://localhost:8000')

我想知道,一旦它在EC2实例上运行,是否应该更改endpoint_url(以与http://localhost:8000不同的方式),或者是否应该以完全不同的方式设置资源。谢谢!

1 个答案:

答案 0 :(得分:2)

首先,您应避免将凭据放入源代码中。这可能会导致安全漏洞,并且难以更新:

  • 在Amazon EC2实例上运行时::为该实例分配IAM角色。该代码将自动找到凭据。
  • 在自己的系统上运行时::将凭据存储在~.aws/credentials文件中(或运行aws configure创建文件)。

如果要连接DynamoDB,请省略端点参数。我假设您一直在使用DynamoDB Local,它在您自己的计算机上运行。要使用“真正的” DynamoDB,请忽略端点。

此外,最好包含一个区域,例如:

dynamodb = boto3.resource('dynamodb', region_name='ap-southeast-2')