是否可以在Amazon AWS的DynamoDB中向现有表添加新列?
Google没有帮助,
http://docs.aws.amazon.com/cli/latest/reference/dynamodb/update-table.html?highlight=update%20table中的UpdateTable查询没有与添加新列相关的信息。
是否可以在Amazon AWS的DynamoDB中向现有表添加新列?
Google没有帮助,
http://docs.aws.amazon.com/cli/latest/reference/dynamodb/update-table.html?highlight=update%20table中的UpdateTable查询没有与添加新列相关的信息。
Answers:
DynamoDB不需要架构定义,因此没有“列”之类的东西。您可以仅添加具有新属性的新项目。
好吧,让我们不要被关于“字段”和“列”之间差异的语义讨论所困扰。“列”一词的确使我们想起了关系数据库,而dynamodb却不是。从本质上讲,这意味着dynamodb没有外键。
Dynamodb确实具有“主分区键”和“索引分区键”,就像关系数据库一样。
添加数据时,您确实需要尊重这些键。但是除了这些要求之外,您不必预先定义字段(前面提到的那些分区键除外)。
假设您是新手,请参考以下一些其他好的做法:
我安装了NoSQL Workbench,然后连接到现有的DynamoDB表,并尝试通过添加新属性来更新现有Item。我发现我们只能添加具有以下类型之一的新属性:“ SS”,“ NS”,“ BS”(字符串集,数字集,二进制集)。操作。
我扫描了dynamodb表,并为每个项目添加了类型为“ SS”的新属性,然后再次进行了扫描并更新了最近添加的新属性,将类型为“ S”,以便创建具有主键为“ pk2NewAttr”的全局二级索引(GSI) ”。
与NoSQL Workbench相关的视频-https: //www.youtube.com/watch?v= Xn12QSNa4RE&feature = youtu.be&t =3666
例如,在Python的“如何扫描所有dynamodb表” - https://gist.github.com/pgolding
在Amazon AWS的DynamoDB中向现有表添加新列的一种方法:
我们可以通过2种方式将值存储在DynamoDb中:(i)在DynamoDB的RDBMS结构类型中,我们可以通过执行相同的命令并保留现有表中记录的“新列”条目来添加新的Coulmn。已经被创造了。我们可以将DynamoDb用于某些列具有值的记录/行,而其他列不具有值。
(ii)采用NoSQL类型的结构;我们在其中将Json字符串存储在Column中,以根据Requirement保留所有属性。在这里,我们正在生成一个json字符串,我们必须将新属性添加到json字符串中,然后可以将其插入具有相同新属性的同一列中。