Dynamodb:使用CreateTable在AttributeType Map,List,JSON中创建一个表

时间:2018-03-03 10:00:33

标签: amazon-dynamodb

如何在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 
    }

],

...    }

1 个答案:

答案 0 :(得分:0)

创建DynamoDB表时,您只能定义属于键定义的属性。换句话说,只有在创建DynamoDB表时才能定义哈希键和排序键属性。哈希和排序键属性必须是标量属性。

文档和设置数据类型不能是键属性的一部分。此外,您无法在这些属性类型上创建索引。

  

标量类型 - 标量类型只能表示一个值。该   标量类型是数字,字符串,二进制,布尔值和空值。

     

文档类型 - 文档类型可以表示复杂的结构   使用嵌套属性 - 例如您可以在JSON文档中找到的属性。该   文档类型是列表和地图。

     

设置类型 - 集类型可以表示多个标量值。这套   types是字符串集,数字集和二进制集。