Amazon dynamodb Dynamodb:使用AttributeType映射、列表、JSON和CreateTable在中创建一个表
如何在DyanamoDB中创建带有AttributeType集、Map或JSON的表。我不想通过插入(PutItem)或更新数据来创建表结构,因为我需要创建一个包含映射、列表或JSON属性的索引。我需要在创建时(CreateTable)执行此操作。我还更喜欢使用AWS CLI。下面是一个示例:Amazon dynamodb Dynamodb:使用AttributeType映射、列表、JSON和CreateTable在中创建一个表,amazon-dynamodb,Amazon Dynamodb,如何在DyanamoDB中创建带有AttributeType集、Map或JSON的表。我不想通过插入(PutItem)或更新数据来创建表结构,因为我需要创建一个包含映射、列表或JSON属性的索引。我需要在创建时(CreateTable)执行此操作。我还更喜欢使用AWS CLI。下面是一个示例: { TableName : "Music", KeySchema: [ { AttributeName: "Artist", KeyType: "
{
TableName : "Music",
KeySchema: [
{
AttributeName: "Artist",
KeyType: "HASH", //Partition key
}
],
AttributeDefinitions: [
{
AttributeName: "Artist",
AttributeType: "S"
},
{
AttributeName: "instruments"
AttributeType: // Map or List or JSON type
}
],
。。。
}创建DynamoDB表时,只能定义作为键定义一部分的属性。换句话说,只有在创建DynamoDB表时才能定义散列键和排序键属性。哈希和排序键属性必须是标量属性 文档和集合数据类型不能是键属性的一部分。此外,不能对这些属性类型创建索引 标量类型–标量类型只能表示一个值。这个 标量类型包括数字、字符串、二进制、布尔和null 文档类型–文档类型可以表示复杂的结构 具有嵌套属性,如JSON文档中的属性。这个 文档类型为列表和映射 集合类型–集合类型可以表示多个标量值。布景 类型有字符串集、数字集和二进制集
嗨,谢谢你,安瑟。可以使用AttributeDefinition(例如在java中)新建AttributeDefinition(“year”,ScalarAttributeType.N),新建AttributeDefinition(“title”,ScalarAttributeType.S))创建表属性。此外,我还讨论了使用标量字段以及投影中的Map、List和JSON字段创建索引。不在索引字段中。它们是关键属性。请参阅您已经使用了KeySchemaElement和键类型哈希和分区。如果尝试在键定义之外添加第三个属性,则会得到error.Ok。事实确实如此。Thankso这意味着您需要先插入数据,然后才能创建索引?不,您也可以在创建表的同时创建索引。若索引中需要任何其他属性(主表中的非键属性),则可以定义这些属性。你不会因此而出错。如果答案有用,您愿意接受吗?如果您不能接受,那么唯一有效的属性类型是S(字符串)、N(数字)和B(inary)