dynamodbの行を更新し、aws cliを使用していくつかのフィールドの値を変更できるようにしたいです。
そのうちの1つはブール値です。もう1つはUnixタイムスタンプを含む数値フィールドです。
aws --profile dev dynamodb update-item --table-name my-dyno-table \
--update-expression "SET deleted = false, updated = :updated" \
--expression-attribute-value '{":updated": {"N":`date +%s`}' \
--key '{ ":s1": { "S": "83418294-eae0-4f90-ad56-3972e8c12a0d"}}' \
--endpoint-url http://localhost:7070
を実行してタイムスタンプを取得できますdate +%s
。
しかし、上記のaws cliコマンドで示されるように、日付出力を取得することはできません。
'{":updated": {"N":`date +%s`}'
zshに関する苦情
パラメーター '--expression attribute value' 構文解析エラー: 無効な JSON: 期待値: 行 19、列 19 (文字 18) 受信した JSON: {":updated": {"N":
date +%s
}
date
この文字列に値を入力する正しい方法は何ですか?
答え1
私の問題は、一対の一重引用符で囲むことです。
解決策は次のとおりです。
"{\":updated\": {\"N\":`date +%s`}}"