我有一个庞大的JSON文件,其中包含许多项。我正在尝试基于JSON文件创建一个DynamoDB表,而不必输入每个单独的属性。我已经在AWSCLi中尝试了下面的方法
aws dynamodb create-table --cli-input-json file://tabledefinition.json
aws dynamodb create-table --generate-cli-skeleton如前所述( 从json创建DynamoDB表 )。我还查看了几个没有选项的python库(ex https://github.com/jlafon/PynamoDB)。所有的json文件都存储在一个S3桶中。
发布于 2017-04-05 22:34:20
注:
这是一个非常通用的类,因为OP没有提到特定的表定义。
表定义JSON不等于普通数据JSON。请参阅表定义JSON的示例。您需要使用JSON和AWS创建类似的表。
{
"TableName": "MusicCollection2",
"KeySchema": [
{ "AttributeName": "Artist", "KeyType": "HASH" },
{ "AttributeName": "SongTitle", "KeyType": "RANGE" }
],
"AttributeDefinitions": [
{ "AttributeName": "Artist", "AttributeType": "S" },
{ "AttributeName": "SongTitle", "AttributeType": "S" }
],
"ProvisionedThroughput": {
"ReadCapacityUnits": 5,
"WriteCapacityUnits": 5
}
}数据加载选项:-
选项1:-
创建表后,可以编写Python代码将数据加载到DynamoDB中。请注意,您需要将JSON上的每个属性映射到DynamoDB表上的属性(或)将JSON存储为DynamoDB表上的映射。这取决于您的用例,即如何使用加载到DynamoDB表中的数据。
选项2:-
您可以使用AWS数据管道创建映射并将数据加载到DynamoDB表中。如果是一次加载,则一旦加载完成,就可以删除数据管道。
https://stackoverflow.com/questions/43239593
复制相似问题