如何在AWS查询中使用变量?
似乎没有关于查询语法的文档,例如。
我正在尝试执行以下操作:
API_ID=$(aws apigateway get-rest-apis --query 'items[?name == `${API_NAME}`] | [0].{id: id}' --output text)
问题在于按字面意思读取$ {API_NAME}。有什么想法吗?
答案 0 :(得分:5)
我过了一段时间后想出来......
AWS使用JMESPath作为其--query
选项的规范。
将jmespath过滤器表达式作为字符串传递时:
您可以使用双引号("),并将变量用单引号括起来(')。这不会阻止变量被替换。
当我将其更改为:
时,它才有效API_ID=$(aws apigateway get-rest-apis --query "items[?name == '${API_NAME}'] | [0].{id: id}" --output text)