我想使用 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
