gpt4 book ai didi

amazon-web-services - AWS Route53 CLI 按值列出资源记录集

转载 作者:行者123 更新时间:2023-12-03 18:45:45 25 4
gpt4 key购买 nike

我需要根据值在 Route53 中找到一条记录。我的 Route53 有 10,000 多条记录。 Searching by Value for a Hosted Zone with more than 2000 records Web 界面当前不支持。所以,我必须求助于使用 AWS Route53 CLI's list-resource-record-sets命令和 --query 范围。此参数使用 JMESPath选择或过滤结果集。

所以,让我们看看我们正在使用的结果集。

$ aws route53 list-resource-record-sets --hosted-zone-id  Z3RB47PQXVL6N2 --max-items 5 --profile myprofile
{
"NextToken": "eyJTdGFydFJlY29yZE5hbWUiOiBudWxsLCAiU3RhcnRSZWNvcmRJZGVudGlmaWVyIjogbnVsbCwgIlN0YXJ0UmVjb3JkVHlwZSI6IG51bGwsICJib3RvX3RydW5jYXRlX2Ftb3VudCI6IDV9",
"ResourceRecordSets": [
{
"ResourceRecords": [
{
"Value": "ns-1264.awsdns-30.org."
},
{
"Value": "ns-698.awsdns-23.net."
},
{
"Value": "ns-1798.awsdns-32.co.uk."
},
{
"Value": "ns-421.awsdns-52.com."
}
],
"Type": "NS",
"Name": "mydomain.com.",
"TTL": 300
},
{
"ResourceRecords": [
{
"Value": "ns-1264.awsdns-30.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400"
}
],
"Type": "SOA",
"Name": "mydomain.com.",
"TTL": 300
},
{
"ResourceRecords": [
{
"Value": "12.23.34.45"
}
],
"Type": "A",
"Name": "abcdefg.mydomain.com.",
"TTL": 300
},
{
"ResourceRecords": [
{
"Value": "34.45.56.67"
}
],
"Type": "A",
"Name": "zyxwvut.mydomain.com.",
"TTL": 300
},
{
"ResourceRecords": [
{
"Value": "45.56.67.78"
}
],
"Type": "A",
"Name": "abcdxyz.mydomain.com.",
"TTL": 300
}
]
}

理想情况下,我需要找到 ResourceRecordSets.Name ,但我绝对可以返回整个 ResourceRecordSet对象,具有 ResourceRecords.Value == 45.56.67.78 的任何记录.

我失败的尝试
// My first attempt was to use filters on two levels, but this always returns an empty array
ResourceRecordSets[?Type == 'A'].ResourceRecords[?Value == '45.56.67.78'][]
[]

// Second attempt came after doing more research on JMESPath. I could not find any good examples using filters on two levels, so I do not filter on ResourceRecordSets
ResourceRecordSets[*].ResourceRecords[?Value == '45.56.67.78']
[
[],
[],
[
{
"Value": "45.56.67.78"
}
],
[],
[]
]

在 table 上敲了一会儿我的头后,我决定咨询专家。使用上面的示例,我如何利用 JMESPath 和 AWS Route53 CLI 为具有 Value == 45.56.67.78 的记录返回以下两个之一。 ?
[
"Name": "abcdxyz.mydomain.com."
]

或者
{
"ResourceRecords": [
{
"Value": "45.56.67.78"
}
],
"Type": "A",
"Name": "abcdxyz.mydomain.com.",
"TTL": 300
}

最佳答案

这应该做:

aws route53 list-resource-record-sets --hosted-zone-id Z3RB47PQXVL6N2 --query "ResourceRecordSets[?ResourceRecords[?Value == '45.56.67.78'] && Type == 'A'].Name"

关于amazon-web-services - AWS Route53 CLI 按值列出资源记录集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50177723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com