Я запускаю эту команду оболочки, используя groovy (которая работала в bash):
aws --profile profileName --region us-east-1 dynamodb update-item --table-name tableName --key '{"group_name": {"S": "group_1"}}' --attribute-updates '{"attr1": {"Value": {"S": "STOP"},"Action": "PUT"}}'
Это обновляет значение элемента до STOP
в DynamoDB.В моем скрипте groovy я запускаю эту команду следующим образом:
String command = "aws --profile profileName --region us-east-1 dynamodb update-item --table-name tableName --key '{\"group_name\": {\"S\": \"group_1\"}}' --attribute-updates '{\"attr1\": {\"Value\": {\"S\": \"STOP\"},\"Action\": \"PUT\"}}'"
println(command.execute().text)
Когда я запускаю это с groovy afile.groovy
, ничего не распечатывается, а когда я проверяю таблицу в DynamoDB, она не обновляется до STOP
.Что-то не так с тем, как я избегаю цитаты, но я не уверен, что.Был бы признателен за любые идеи.
Sidenote: Когда я выполняю простую команду aws, такую как aws s3 ls
, она работает и печатает результаты, поэтому это что-то с этой конкретной командой, которая ее отбрасывает.