Linuxコマンドの出力をaws cliのこのjson文字列にどのように入れることができますか?

Linuxコマンドの出力をaws cliのこのjson文字列にどのように入れることができますか?

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`}}"

おすすめ記事