Skip to main content
 首页 » 编程设计

python之无法使用 python boto sdk 连接 amazon DynamoDb Local

2024年10月25日26xing901022

我想使用 boto sdk 连接 DynamoDbLocal 内部可用的数据库。我按照以下链接遵循文档。

http://boto.readthedocs.org/en/latest/dynamodb2_tut.html#dynamodb-local

这是亚马逊提供的官方文档。但是当我执行文档中可用的片段时,我无法连接数据库,也无法获取数据库中可用的表。数据库名称是“dummy_us-east-1.db”。我的代码片段是:

from boto.dynamodb2.layer1 import DynamoDBConnection 
con = DynamoDBConnection(host='localhost', port=8000, 
    aws_access_key_id='dummy', 
    aws_secret_access_key='dummy', 
    is_secure=False, 
    ) 
 
print con.list_tables() 

我在数据库中有 8 个可用表。但是在执行 list_tables() 命令后,我得到的是空列表。

output: 
{u'TableNames':[]} 

它不是访问所需的数据库,而是创建和访问新数据库。 旧数据库:dummy_us-east-1.db 新数据库:dummy_localhost.db 如何解决这个问题。 请给我一些关于 DynamoDbLocal 访问的建议。提前致谢。

请您参考如下方法:

听起来您正在使用不同的方法连接到 DynamoDB Local。

如果是这样,您还可以使用 sharedDb 标志启动 DynamoDB Local 以强制它使用单个数据库文件:

-sharedDb                   When specified, DynamoDB Local will use a 
                            single database instead of separate databases 
                            for each credential and region. As a result, 
                            all clients will interact with the same set of 
                            tables, regardless of their region and 
                            credential configuration. 

例如

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar --sharedDb