AWS CLI DynamoDB命令
问题描述:
我正在编写一个shell脚本文件,用于使用AWS CLI在dynamoDB上执行一些操作。如果属性已经存在,我试图更新dynamodb表中项目中的属性。AWS CLI DynamoDB命令
但是,我不熟悉update-item命令的语法。我想用一些值更新名为'conf'的属性。但是,我无法弄清楚SET命令的语法。这是我到现在为止:
aws dynamodb update-item --table-name MY_TABLE_NAME --key '{"AccountId": {"S": accountId}}'
我知道上面的必须跟随SET选项。
任何帮助,将不胜感激。
答
我认为这将是这个样子:
AWS dynamodb更新项目--table名MY_TABLE_NAME --key文件://update-key.json --update表达“SET的conf =:NEWCONF” --expression属性值的文件://update-attr-values.json --condition表达 “attribute_exists(CONF)” --return值ALL_NEW
更新密钥。 json
{
"AccountId": {
"S": "account123"
}
}
更新ATTR-values.json
{
":newconf": {
"S": "new conf value"
}
}
答
这是可以做到这一点没有文件,但得到的答复是隐藏dynamodb的700+网页开发者指南:
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"}}'
的迪纳摩DB的开发者指南可以在这里找到:Dynamo DB Developer guide
在原子计数器的206页上,有一个如何使用--expression-attribute-values
没有文件的例子
我的用例如果通过从一个文件一次读取它们来为各种帐户执行此更新。所以,我不想为键和表达式属性值创建单独的json文件。你能否建议只更新属性值而不使用任何json文件的命令? –
你可以使用shell脚本变量。你如何迭代文件? – James
我想要一个类似的命令update-item,我不需要提供json文件。我将逐行遍历文件,对于每一行,我都会更新表格。因此,我想在命令中注入shell脚本变量的值,而不是使用单独的json文件。 –