Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 在生产环境中添加和更新新的dynamo db属性_Amazon Web Services_Amazon Dynamodb - Fatal编程技术网

Amazon web services 在生产环境中添加和更新新的dynamo db属性

Amazon web services 在生产环境中添加和更新新的dynamo db属性,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,我是dynamo DB的新手,希望了解如何将新属性添加到现有表中 向生产中的现有表添加新属性,然后根据某些条件更新该属性的项的最佳方法是什么?我想用脚本做这个操作 例如: 我有一个dynamo db表Employee,它当前在生产环境中有一列Salary。要求是添加一个名为Grade的新列,并根据薪资更新其值。如何使用任何外部脚本高效地实现这一点 我已经用aws dynamodb更新项尝试过了,但问题是我不知道它的键。对于问题的第一部分,dynamodb是无模式的(需要哈希和可选的排序键,如果配

我是dynamo DB的新手,希望了解如何将新属性添加到现有表中

向生产中的现有表添加新属性,然后根据某些条件更新该属性的项的最佳方法是什么?我想用脚本做这个操作

例如: 我有一个dynamo db表Employee,它当前在生产环境中有一列Salary。要求是添加一个名为Grade的新列,并根据薪资更新其值。如何使用任何外部脚本高效地实现这一点


我已经用aws dynamodb更新项尝试过了,但问题是我不知道它的键。

对于问题的第一部分,dynamodb是无模式的(需要哈希和可选的排序键,如果配置了)因此,只要使用额外的属性执行
PutItem
UpdateItem
,就可以添加属性

根据数据的大小和您希望循环并每隔一段时间更新项目的最大值(在批之间添加休眠以防止被限制)

由于
grade
的逻辑是由
salary
决定的,而不是直接由您希望以编程方式尝试在脚本中进行分类的相同值决定的


如果要加快任务写入此新数据所需的时间,则需要在脚本期间增加写入CPU。

我在某个地方读到,当我们从aws cli命令尝试更新时,UpdateItem必须使用该键。但是我没有密钥如果您没有密钥(如果配置了哈希/分区密钥和排序密钥),那么您需要
扫描
您的DynamoDB表以获取信息(这是非常低成本的)。是否没有办法计算出这些值,或者它是一个生成的值?例如,我给出的示例中,我必须根据每一行的工资来更新其等级,因此,无论是否有(哈希/分区键),我都必须对其进行更新?是的,您需要首先获取所有数据(假设它仅在DynamoDB中),然后进行更新。