首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWSCli dynamodb更新项命令语法

AWSCli dynamodb更新项命令语法
EN

Stack Overflow用户
提问于 2015-09-29 03:40:16
回答 3查看 15.9K关注 0票数 6

我正在使用AmazonAwsCli编写shell脚本,以更新dynamodb表中项中的属性。我想更新表中的多个项的属性。我正在从文件中读取属性值,并试图通过在命令中注入shell脚本变量的值来更新表。http://docs.aws.amazon.com/cli/latest/reference/dynamodb/update-item.html提供的文档建议对表达式-属性名称和表达式-属性值使用单独的json文件。但是,我不想创建单独的json文件。相反,我想编写一个命令来更新给定属性值的项。

代码语言:javascript
复制
My table name = MY_TABLE_NAME

hashkey = AccountId

shell script variable holding the value of AccountId = accountId

attribute name that needs to be updated = Version

shell script variable holding the value of Version = ver

我有这样的东西:

aws动态数据库更新-项-表-名称MY_TABLE_NAME -键'{"AccountId":{"S":'$accountId'}}‘-更新-表达式“设置版本=’{”版本:{"S":‘$ver’}}‘-条件-表达式“attribute_exists(版本)”-返回-值UPDATED_NEW

但是,上述命令不起作用。有人能告诉我正确的语法吗。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-02 06:21:06

我的AwsCli版本不支持-更新-表达式选项。我使用了属性更新选项。

这是我的命令:

updatedVersion=aws dynamodb update-item --table-name MY_TABLE_NAME --key '{"AccountId": {"S": '$accountId'}}' --attribute-updates '{"Version": {"Value": {"S": '$desiredVersion'},"Action": "PUT"}}' --return-values UPDATED_NEW | jq '.Attributes.RuleSetVersion.S'

票数 11
EN

Stack Overflow用户

发布于 2019-06-18 21:57:03

下面是使用--update-expression的更新命令

代码语言:javascript
复制
 aws --region "us-east-1" dynamodb update-item \
 --table-name "MY_TABLE_NAME" --key \
 '{"Primary_Column_name":{"S":"Primary_Column_value"}}' \
 --update-expression 'SET #H = :h' \
 --expression-attribute-names '{"#H":"Column_name_to_change"}' \
 --expression-attribute-values '{":h":{"S":"Changed_Column_value"}}'
票数 7
EN

Stack Overflow用户

发布于 2020-04-17 07:42:16

其他的答案在MAC和Linux上都会很好的工作。如果要在Windows上运行它,则需要使用"引号代替',并使用双引号""代替单引号"`“

示例:

代码语言:javascript
复制
aws dynamodb update-item --table-name MY_TABLE_NAME --key "{""PRIMARY_KEY_NAME"":{""S"":""PRIMARY_KEY_VALUE""}}" --update-expression "SET #G = :g"  --expression-attribute-names "{""#G"":""COLUMN_NAME_TO_UPDATE_VALUE""}" --expression-attribute-values "{"":g"":{""N"":""DESIRED_VALUE""}}"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32835299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档