AWS CLI DynamoDB命令

时间:2015-09-26 21:12:17

标签: amazon-web-services amazon-dynamodb aws-cli

我正在编写一个shell脚本文件,用于使用AWS CLI在dynamoDB上执行某些操作。我正在尝试更新dynamodb表中项目的属性,如果该属性已存在。

但是,我对update-item命令的语法不满意。我想用一些值更新名为'conf'的属性。但是,我无法在命令中找出SET的语法。这就是我到现在所拥有的:

aws dynamodb update-item --table-name MY_TABLE_NAME --key '{"AccountId": {"S": accountId}}'

我知道以上必须遵循SET选项。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

我认为它看起来像这样:

  

aws dynamodb update-item --table-name MY_TABLE_NAME --key file://update-key.json --update-expression“SET conf =:newconf”--expression-attribute-values file:// update -attr-values.json --condition-expression“attribute_exists(conf)” - return-values ALL_NEW

<强>更新key.json

{
    "AccountId": {
        "S": "account123"
    }
}

<强>更新-ATTR-values.json

{
    ":newconf": {
        "S": "new conf value"
    }
}

答案 1 :(得分:0)

可以在没有文件的情况下执行此操作,但答案隐藏在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"}}'

可以在此处找到Dynamo DB的开发人员指南:Dynamo DB Developer guide

Atomic Counters在206页上,有一个如何在没有文件的情况下使用--expression-attribute-values

的示例