dynamodb의 행을 업데이트하고 aws cli를 사용하여 일부 필드의 값을 변경할 수 있기를 원합니다.
그 중 하나는 부울 값입니다. 다른 하나는 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: 예상 값: 1행, 19열(문자 18) 수신된 JSON: {":updated": {"N":
date +%s
}
date
이 문자열에 값을 입력하는 올바른 방법은 무엇입니까?
답변1
내 문제는 한 쌍의 작은 따옴표로 묶는 것입니다.
해결책은 다음과 같습니다.
"{\":updated\": {\"N\":`date +%s`}}"