尽管 Amazon 提供了有关如何使用 Java、PHP 和 .Net 连接到本地 dynamoDB的文档,但没有描述如何使用 Python 连接到 localhost:8000。网络上的现有文档指出在 boto.dynamodb2.layer1 中使用了DynamoDBConnection 方法,但这会在使用 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 本地端点(像其他语言一样)?或者亚马逊计划支持此功能的任何机会?