如何使用aws route53列表资源记录集cli

时间:2020-06-08 05:34:13

标签: escaping aws-cli amazon-route53 jmespath

我正在尝试使用aws route53 cli命令通过查询列出zoneId中的资源记录集

aws route53 list-resource-record-sets \
  --hosted-zone-id $zoneId \
  --query "ResourceRecordSets[?Name == 'abcd.example.com.']"

但是我收到此错误

Bad value for --query "ResourceRecordSets[?Name: Bad jmespath expression: Unclosed " delimiter: "ResourceRecordSets[?Name

我尝试了几种方法

aws route53 list-resource-record-sets \
  --hosted-zone-id $zoneId \
  --query \"ResourceRecordSets[?Name == 'abcd.jazz.t-mobile.com.']\"
aws route53 list-resource-record-sets \
  --hosted-zone-id $zoneId \
  --query \"ResourceRecordSets[?Name == \'abcd.jazz.t-mobile.com.\']\"

但是,每次遇到相同的错误时,我在做什么错? 另外我不是在终端中运行而是在詹金斯脚本中运行,所以我按以下方式进行操作

sh(aws route53 list-resource-record-sets \
  --hosted-zone-id $zoneId \
  --query "ResourceRecordSets[?Name == 'abcd.example.com.']")

2 个答案:

答案 0 :(得分:1)

尝试使用反勾来包装您要搜索的值

@HostBinding('style.width') get elementWidth() {
   return `${this.widthInput}.px`;
};

基于docs

在JMESPath查询表达式中指定文字值(例如上面的“ us-west-2”)时,必须将该值括在反引号(`)中,以便正确读取。

答案 1 :(得分:0)

这对我有用。尝试在命令中不要添加多余的字符。

aws route53 list-resource-record-sets --hosted-zone-id $zoneid --query "ResourceRecordSets[?Name == 'domain.com.']"

AWS Docs