2015-09-27 2 views
0

Я пишу скрипт оболочки для запроса атрибута из таблицы dynamoDB. Я использую AWS CLI для написания сценария.Подстановка значения переменной в AWS CLI DynamoDB Операция запроса

Я хочу найти AccountId из MY_TABLE_NAME для ReferenceId gfsdgrhfsh. Когда я поставлю точное значение атрибута в AttributeValueList, операция запроса завершается успешно, и я получаю правильное значение атрибута.

aws dynamodb query --table-name MY_TABLE_NAME - выберите SPECIFIC_ATTRIBUTES - атрибуты для получения «AccountId» --key-conditions '{"ReferenceId": {"AttributeValueList": [{"S": " gfsdgrhfsh "}]," ComparisonOperator ":" EQ "}} '--limit 1 | jq '.Items [0] .AccountId.S'

Приведенная выше команда дает мне правильный идентификатор учетной записи.

Однако, когда я назначаю ReferenceId gfsdgrhfsh переменной, а затем помещаю эту переменную в команду, я не получаю ответа.

идентификаторСсылки = gfsdgrhfsh

AWS dynamodb имя---table запрос MY_TABLE_NAME --select SPECIFIC_ATTRIBUTES --attributes к получить "ACCOUNTID" --key-условия «{ "идентификаторСсылки": { "AttributeValueList": [{"S": "$ referenceId"}], "ComparisonOperator": "EQ"}} '--limit 1 | jq '.Items [0] .AccountId.S'

Может кто-нибудь, пожалуйста, сообщите, как ввести значение переменной в команду. Я должен выполнить операцию запроса для большого количества referenceIds, читая их из файла, поэтому мне нужно ввести значение переменной в команду.

Любая помощь будет оценена по достоинству.

ответ

0

Выяснено, нам нужно передать значение, заключенное в двойные кавычки. Ниже приведена команда:

aws dynamodb query --table-name MY_TABLE_NAME - выберите SPECIFIC_ATTRIBUTES - атрибуты для получения «AccountId» --key-conditions '{"ReferenceId": {"AttributeValueList": [{ "S": '\ "$ referenceId \"'}], "ComparisonOperator": "EQ"}} '--limit 1 | jq '.Items [0] .AccountId.S'

Смежные вопросы