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

Bash 如何在AWSCLI查询中使用cli变量,bash,aws-cli,Bash,Aws Cli,如何在AWS查询中使用变量?? 似乎没有关于查询语法的文档,只是一些示例 我正在努力做到以下几点: API_ID=$(aws apigateway get-rest-apis --query 'items[?name == `${API_NAME}`] | [0].{id: id}' --output text) 问题是${API_NAME}是按字面意思读取的。有什么想法吗?过了一段时间,我才发现 AWS使用,作为其--query选项的规范。 将jmespath筛选器表达式作为字符串传递时:

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

似乎没有关于查询语法的文档,只是一些示例

我正在努力做到以下几点:

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

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

过了一段时间,我才发现

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

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

因此,当我将其更改为:

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