用于在dynamodb中存储json的格式
我有一个JSON文件,看起来像这样用于在dynamodb中存储json的格式,json,amazon-web-services,amazon-dynamodb,Json,Amazon Web Services,Amazon Dynamodb,我有一个JSON文件,看起来像这样 { "alliance":{ "name_part_1":[ "Ab", "Aen", "Zancl" ], "name_part_2":[ "aca", "acia", "ythrae", "ytos" ], "name_part_3":[ "Alliance", "Bond" ] } } 我想
{
"alliance":{
"name_part_1":[
"Ab",
"Aen",
"Zancl"
],
"name_part_2":[
"aca",
"acia",
"ythrae",
"ytos"
],
"name_part_3":[
"Alliance",
"Bond"
]
}
}
我想把它存储在dynamoDB
中。
问题是,我想要一个生成器,它可以从name\u part\u 1
、name\u part\u 2
等字段(name\u part\u x的数量是无限的,每个部分的项目数量可能有几百个)中提取随机元素,并将它们连接起来创建一个完整的单词。像
name_part_1[1] + name_part_2[10] + name_part[3]
我的问题是,我应该使用什么格式来有效地做到这一点?或者不应该使用NoSQL来实现这一点?我应该重构JSON来实现类似的功能吗
{
"name": "alliance",
"parts": [ "name_part_1", "name_part_2", "name_part_3" ],
"values": [
{ "name_part_1" : [ "Ab ... ] }, { "name_part_2": [ "aca" ... ] }
]
}
这是DynamoDB的完美用例 你可以这样构造
NameParts (Table)
namepart (partition key)
range (hash key)
namepart:name\u part\u 1范围:0值:“Ab”
这样,每个name_部件都有自己的范围和可伸缩性。你可以将其扩展到数千甚至数百万
您可以从您选择的sdk执行批处理getitem并加入这些值
REST API参考:
希望有帮助。您可以将整个文档原样放在DynamoDB中,然后使用它访问所需的元素 文档路径 在表达式中,您使用文档路径来告诉DynamoDB在何处运行 找到一个属性。对于顶级属性,文档路径为 只需输入属性名即可。对于嵌套属性,可以构造 使用取消引用运算符的文档路径 以下是文档路径的一些示例。(请参阅本项目。) 如指定项目属性中所示。) 顶级标量属性:ProductDescription顶级列表 属性(这将返回整个列表,而不仅仅是一些 元素。)RelatedItems RelatedItems列表中的第三个元素。 (请记住,列表元素是以零为基础的。)RelatedItems[2] 产品的前视图图片。图片。FrontView所有的 五星级评论。ProductReviews.FiveStar五星级酒店中的第一家 评论。ProductReviews.FiveStar[0]注意 文档路径是32。因此,解引用运算符的数量 在路径中,不能超过此限制
请注意,每个文档都需要一个唯一的分区键。但是如果另一个
名称
(armor而不是alliance)具有名称(part)1
,该如何处理呢?