Python DynamoDB加载旧的本地数据库文件
不久前,我将一堆JSON数据加载到本地DynamoDB实例中进行实践。我做了一些查询并将数据存储到CSV中,最后关闭了连接 因此,我的笔记本电脑上有一个7GB的Python DynamoDB加载旧的本地数据库文件,python,amazon-web-services,amazon-dynamodb,Python,Amazon Web Services,Amazon Dynamodb,不久前,我将一堆JSON数据加载到本地DynamoDB实例中进行实践。我做了一些查询并将数据存储到CSV中,最后关闭了连接 因此,我的笔记本电脑上有一个7GB的sample_data.db文件,需要再次访问它。通常,当我创建DynamoDB实例时,我会说: java \ -Djava.library.path=./DynamoDBLocal_lib \ -jar DynamoDBLocal.jar \ -dbPath /Users/myname/Documents/dat
sample_data.db
文件,需要再次访问它。通常,当我创建DynamoDB实例时,我会说:
java \
-Djava.library.path=./DynamoDBLocal_lib \
-jar DynamoDBLocal.jar \
-dbPath /Users/myname/Documents/data/sample_data.db
所以我这样做是为了创建文件,但是我现在如何打开与该预先存在的文件的另一个连接?每当我做上述操作时,它只会说:
Invalid directory for database creation.
很明显,这意味着上面的命令只用于创建一个新的DB-如果这是一个微不足道的问题,那么很抱歉,但是我如何打开到旧DB的连接呢
我一定要上传到AWS吗?还是有办法
编辑:我使用它作为参考,但没有看到一个命令来指定一个预先存在的数据库的路径 问题的根源在于,本地DynamoDB不允许您直接指定数据库文件名,只允许指定存储/加载文件的路径。文件名源自DynamoDB local和AWS区域的AWS访问密钥。或者,如果指定
-sharedDb
选项,则单个数据库文件存储为shared-local-instance.db。-dbPath
选项定义DynamoDB本地实例应该在哪里查找这些数据库文件
为了加载旧的数据库文件,我建议重命名它以符合命名约定(以便DynamoDB能够识别它),并指定不带文件名部分的-dbPath
选项。希望这将允许您访问您的数据
例如:
mv sample_data.db shared-local-instance.db
java \
-Djava.library.path=./DynamodDBLocal_lib \
-jar DynamoDBLocal.jar \
-dbPath /Users/myname/Documents/data
注意:数据库文件命名的定义有点模糊(至少,我对命名标准的搜索非常有限,没有找到太多)。您可能需要仔细研究一下,以确定预期的确切名称