尽管Amazon提供了有关如何使用Java、PHP和.Net连接到dynamoDB local的文档,但没有描述如何使用Python连接到localhost:8000。web上的现有文档指出在boto.dynamodb2.layer1中使用DynamoDBConnection method,但这在使用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的端点。很遗憾,that option当前似乎不可用。
有没有什么方法可以使用boto3来定义dynamoDB本地端点(像其他语言一样)?或者亚马逊有没有可能计划支持这个功能?
注意:您需要将上述响应扩展为包含区域。我已经把凯尔的密码附加在上面了。如果初始尝试出现区域错误,则会返回相应的“[]响应。
它确实支持本地DynamoDB。您只需要设置适当的端点,例如可以使用其他language SDKs
下面是如何通过DynamoDB Local使用boto3的客户机和资源接口的代码片段:
这是python DynamoDb教程。它描述了如何连接到本地实例。
http://docs.aws.amazon.com/amazondynamodb/latest/gettingstartedguide/GettingStarted.Python.01.html
在aws配置的帮助下,所需的最小参数如下(见下文)。
使用
aws configure
命令(需要安装aws cli)配置配置文件参数时,可以省略region、access key和secret key参数。但是,您可以在家中手动创建aws配置文件(以防不想使用aws cli)。文件~/.aws/config
文件~/.aws/凭据
您可以在中查阅aws配置 http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
注意在本地DynamoDb开发中,
region
,aws_access_key_id
和aws_secret_access_key
这些文件中的值可以是任何值。但是,如果要将aws cli与aws一起使用,则必须放置有效的区域、有效的id和密钥。当您注册到AWS服务时,它们是可用的。更多信息,当你打电话
boto3连接的主机将基于
region
参数,例如region=us-west-1
当调用上述api时,它将连接到dynamodb.us-west-1.amazonaws.com
。但是,当pass参数endpoint_url
时,将不使用region
。有关更多AWS端点列表,请转到http://docs.aws.amazon.com/general/latest/gr/rande.html。相关问题 更多 >
编程相关推荐