我正在尝试使用 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.']"
但是每次我遇到同样的错误时,我做错了什么? 此外,我不是在终端中运行它,而是在 jenkins 脚本中运行它,所以我通过以下方式进行操作
sh(aws route53 list-resource-record-sets
--hosted-zone-id $zoneId
--query "ResourceRecordSets[?Name == 'abcd.example.com.']")
尝试使用反引号来包装您要搜索的值
aws route53 list-resource-record-sets
--hosted-zone-id $zoneId
--query 'ResourceRecordSets[?Name==`abcd.example.com.`]'
基于文档:
在 JMESPath 查询表达式中指定文本值(如上面的"us-west-2"(时,必须用反引号 (' '( 将值括起来,才能正确读取该值。
这对我有用。尝试在命令中不要使用额外的 "。
aws route53 list-resource-record-sets --hosted-zone-id $zoneid --query "ResourceRecordSets[?Name == 'domain.com.']"
AWS 文档