虽然亚马逊提供了有关如何使用Java、PHP和.Net连接DynamoDB本地的文档,但没有描述如何使用Python连接localhost:8000。网上现有的文档指向在boto.dynamodb2.layer1中使用DynamoDBConnection方法, 但这会导致在使用boto3协议管理DynamoDB的生产环境和测试环境之间不兼容。
在boto3中,您可以使用以下构造函数和将变量设置到环境中来请求dynamo:
尽管可以创建逻辑来根据本地环境确定正确的构造函数,但我对构建一组将每个构造函数视为相同的方法持谨慎态度。相反,我更喜欢使用boto3来完成所有任务,并能够在环境变量中设置dynamoDB的端点。不幸的是,该选项目前似乎不可用。
有没有办法使用boto3定义一个dynamoDB本地端点(像其他语言一样)?或者亚马逊是否有计划支持此功能?
在boto3中,您可以使用以下构造函数和将变量设置到环境中来请求dynamo:
client = boto3.client('dynamodb')
table = client.list_tables()
与 boto.dynamodb2.layer1 包不同,您需要构建以下内容:
client = DynamoDBConnection(
host='localhost',
port=8000,
aws_access_key_id='anything',
aws_secret_access_key='anything',
is_secure=False)
table = client.list_tables()
尽管可以创建逻辑来根据本地环境确定正确的构造函数,但我对构建一组将每个构造函数视为相同的方法持谨慎态度。相反,我更喜欢使用boto3来完成所有任务,并能够在环境变量中设置dynamoDB的端点。不幸的是,该选项目前似乎不可用。
有没有办法使用boto3定义一个dynamoDB本地端点(像其他语言一样)?或者亚马逊是否有计划支持此功能?
endpoint_url
的文档(http://boto3.readthedocs.io/en/latest/reference/core/session.html#boto3.session.Session.client),以及客户端方法的其他关键字参数。我是从这里(http://boto3.readthedocs.io/en/latest/reference/core/boto3.html)被引导到该链接的。 - Mieczysław Daniel DybaAWS_ACCESS_KEY_ID=RANDOM
和AWS_SECRET_ACCESS_KEY=RANDOM
环境变量来简单解决它。 - Dambre