Python 从JSON文件创建dynamoDB表
我有一个巨大的JSON文件,其中包含许多项。我试图基于JSON文件创建一个DynamoDB表,而不必输入每个单独的属性。我已经用AWSCLi尝试了以下方法Python 从JSON文件创建dynamoDB表,python,json,amazon-dynamodb,Python,Json,Amazon Dynamodb,我有一个巨大的JSON文件,其中包含许多项。我试图基于JSON文件创建一个DynamoDB表,而不必输入每个单独的属性。我已经用AWSCLi尝试了以下方法 aws dynamodb create-table --cli-input-json file://tabledefinition.json aws dynamodb create-table --generate-cli-skeleton 如本文所述()。我还研究了两个没有选项的python库(ex)。所有json文件都存储在S3存储桶中
aws dynamodb create-table --cli-input-json file://tabledefinition.json
aws dynamodb create-table --generate-cli-skeleton
如本文所述()。我还研究了两个没有选项的python库(ex)。所有json文件都存储在S3存储桶中 注意: 这是一个非常通用的类,因为OP没有提到特定的表定义 表定义JSON不等于普通数据JSON。请参见表定义JSON的示例。要使用JSON和AWS CLI创建表,需要创建类似的表
{
"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:-
一旦创建了表,您就可以进行写操作,将数据加载到DynamoDB中。请注意,您需要将JSON上的每个属性映射到DynamoDB表上的属性(或将JSON存储为DynamoDB表上的映射)。这取决于您的用例,即如何使用加载到DynamoDB表中的数据
选项2:-
您可以使用创建映射并将数据加载到DynamoDB表中。如果是一次性加载,您可以在加载完成后删除数据管道。因此,我不需要在“创建表”步骤中为json字符串中的每个项目定义。是否正确?是的,这不是必需的。您还可以使用创建表定义json。语法相当复杂,对我个人来说帮助很大。