如何在DyanamoDB中创建一个包含AttributeType Set,Map或JSON的表。我不想通过插入(PutItem)或更新数据来创建表结构,因为我需要在投影中创建一个包含Map,List或JSON属性的索引。我需要创建一个创建时间(CreateTable)。我也更喜欢使用AWS CLI。下面的示例:
{
TableName : "Music",
KeySchema: [
{
AttributeName: "Artist",
KeyType: "HASH", //Partition key
}
],
AttributeDefinitions: [
{
AttributeName: "Artist",
AttributeType: "S"
},
{
AttributeName: "instruments"
AttributeType: // Map or List or JSON type
}
],
... }
答案 0 :(得分:0)
创建DynamoDB表时,您只能定义属于键定义的属性。换句话说,只有在创建DynamoDB表时才能定义哈希键和排序键属性。哈希和排序键属性必须是标量属性。
文档和设置数据类型不能是键属性的一部分。此外,您无法在这些属性类型上创建索引。
标量类型 - 标量类型只能表示一个值。该 标量类型是数字,字符串,二进制,布尔值和空值。
文档类型 - 文档类型可以表示复杂的结构 使用嵌套属性 - 例如您可以在JSON文档中找到的属性。该 文档类型是列表和地图。
设置类型 - 集类型可以表示多个标量值。这套 types是字符串集,数字集和二进制集。