J'écris un script shell pour interroger un attribut à partir d'une table dynamoDB. J'utilise AWS CLI pour écrire le script.Substitution de valeur de variable dans l'opération de requête AWS CLI DynamoDB
Je souhaite trouver AccountId de MY_TABLE_NAME pour ReferenceId gfsdgrhfsh. Lorsque je fournis la valeur exacte de l'attribut dans AttributeValueList, l'opération de requête réussit et j'obtiens la valeur d'attribut correcte. Aws dynamodb query --table-name MY_TABLE_NAME --sélectionne SPECIFIC_ATTRIBUTES --attributes-to-get "AccountId" --key-conditions '{"ReferenceId": {"AttributeValueList": [{"S": " gfsdgrhfsh "}]," ComparisonOperator ":" EQ "}} '--limit 1 | jq '.Items [0] .AccountId.S'
La commande ci-dessus me donne l'identifiant de compte correct. Toutefois, lorsque j'affecte le ReferenceId gfsdgrhfsh à une variable, puis que j'applique cette variable dans la commande, je n'obtiens pas de réponse.
referenceId = gfsdgrhfsh
aws DynamoDB requête --table nom MY_TABLE_NAME --select SPECIFIC_ATTRIBUTES --attributes-to-get "accountid" --key conditions « { "referenceID": { "AttributeValueList": [{"S": "$ referenceId"}], "ComparisonOperator": "EQ"}} '--limit 1 | jq '.Items [0] .AccountId.S'
Quelqu'un peut-il donner des conseils sur la façon d'injecter la valeur de la variable dans la commande. Je dois effectuer une opération de requête pour beaucoup de referenceIds en les lisant à partir d'un fichier, donc j'ai besoin d'injecter la valeur de la variable dans la commande.
Toute aide serait appréciée.