Amazon dynamodb AWS CLI,DynamoDB向整个表添加属性

Amazon dynamodb AWS CLI,DynamoDB向整个表添加属性,amazon-dynamodb,aws-cli,Amazon Dynamodb,Aws Cli,我试图在不指定索引的情况下向整个表添加属性 在本例中,它始终被用作索引: aws dynamodb update-item \ --region MY_REGION \ --table-name MY_TABLE_NAME \ --key='{"AccountId": {"S": accountId}}' \ --update-expression 'SET conf=:newconf' \ --expression-attribute-values '{

我试图在不指定索引的情况下向整个表添加属性

在本例中,它始终被用作索引:

aws dynamodb update-item \
--region MY_REGION \
--table-name MY_TABLE_NAME \
--key='{"AccountId": {"S": accountId}}' \
--update-expression 'SET conf=:newconf' \
--expression-attribute-values '{":newconf":{"S":"new conf value"}}'
另外,这是表中已有属性的更新


如何向表的每条记录添加新属性?

没有API会自动向表中的所有项添加属性。DynamoDB就是不能那样工作

向表中的所有项添加属性的唯一方法是扫描表,并针对每个项发出UpdateItem请求以添加所需的属性。可以对缺少的属性(即添加新属性)或已经存在且正在更新的属性执行此操作

一些警告:

  • 如果表很小,并且没有太频繁地更新,这可能会在一次传递中起到预期的作用
  • 如果表较大且更新速度相对较快(即每秒一次),则需要确保更新表的代码同时向新项或正在更新的项添加属性,并且更新不会出错
  • 最后,如果表很大,这可能会消耗大量的容量,因为每个项目都需要扫描和更新,所以计划它需要很长时间(还要注意消耗的容量与配置的容量)——最好对更新脚本进行一些速率限制

--更新表达式集将自动添加不存在的新属性