如何在AWSCLI查询中使用cli变量

时间:2016-02-09 20:28:30

标签: bash aws-cli

如何在AWS查询中使用变量?

似乎没有关于查询语法的文档,例如。

我正在尝试执行以下操作:

API_ID=$(aws apigateway get-rest-apis --query 'items[?name == `${API_NAME}`] | [0].{id: id}' --output text)

问题在于按字面意思读取$ {API_NAME}。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

我过了一段时间后想出来......

AWS使用JMESPath作为其--query选项的规范。 将jmespath过滤器表达式作为字符串传递时:

  

您可以使用双引号("),并将变量用单引号括起来(')。这不会阻止变量被替换。

当我将其更改为:

时,它才有效
API_ID=$(aws apigateway get-rest-apis --query "items[?name == '${API_NAME}'] | [0].{id: id}" --output text)