Dynamodb:使用 AttributeType Map、List、JSON 和 CreateTable 创建一个表

Per*_*rks 7 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 
    }

],
Run Code Online (Sandbox Code Playgroud)

... }

not*_*est 5

在创建 DynamoDB 表时,您只能定义作为键定义一部分的属性。换句话说,您只能在创建 DynamoDB 表时定义哈希键和排序键属性。散列和排序键属性必须是标量属性。

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

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

文档类型 – 文档类型可以表示具有嵌套属性的复杂结构,例如您可以在 JSON 文档中找到。文档类型是列表和地图。

集合类型——一个集合类型可以表示多个标量值。集合类型有字符串集合、数字集合和二进制集合。