【发布时间】:2019-05-31 15:12:43
【问题描述】:
我能否获得有关在 cli 表输出中获取别名记录的值的帮助?
test.emea.example.com。是别名。
顺便说一句,如果 DNS 记录是多值的,如何将这些值扁平化并连接起来
下面是例子:
$ aws route53 list-resource-record-sets --hosted-zone-id Z34XXXXXXXX4EF --query "ResourceRecordSets[?Type=='A']"
[
{
"ResourceRecords": [
{
"Value": "10.189.134.12"
}
],
"Type": "A",
"Name": "dnsforwarder0.emea.example.com.",
"TTL": 300
},
{
"ResourceRecords": [
{
"Value": "10.189.134.47"
}
],
"Type": "A",
"Name": "dnsforwarder1.emea.example.com.",
"TTL": 300
},
{
"ResourceRecords": [
{
"Value": "10.189.134.78"
}
],
"Type": "A",
"Name": "dnsforwarder2.emea.example.com.",
"TTL": 300
},
{
"AliasTarget": {
"HostedZoneId": "Z32O12XQLNTSW2",
"EvaluateTargetHealth": false,
"DNSName": "dualstack.kubernetes-elb-k8fca-prod-emea-1745420721.eu-west-1.elb.amazonaws.com."
},
"Type": "A",
"Name": "test.emea.example.com."
}
]
[Tiger-Pengs-MacBook-Pro:~/aws/aws_fed]
tpeng $ aws route53 list-resource-record-sets --hosted-zone-id Z34XXXXXXXX4EF --query "ResourceRecordSets[?Type=='A'].[Name,Type,ResourceRecords[0].Value]" --output table --color off
-----------------------------------------------------------
| ListResourceRecordSets |
+----------------------------------+----+-----------------+
| dnsforwarder0.emea.example.com. | A | 10.189.134.12 |
| dnsforwarder1.emea.example.com. | A | 10.189.134.47 |
| dnsforwarder2.emea.example.com. | A | 10.189.134.78 |
| test.emea.example.com. | A | None |
+----------------------------------+----+-----------------+
【问题讨论】:
-
你能展示你正在寻找的样本输出吗?
-
在进入这个兔子洞之前,您是否考虑运行一个单独的命令来获取
AliasTarget记录,而不是必须在一个命令中获取它们?或者,您是否考虑过在 Python 中执行此操作,这样您可以更好地控制结果? -
"顺便说一句,如果 DNS 记录是多值的,如何将这些值进行扁平化和连接"。我不确定我理解你所说的扁平化和连接值是什么意思。在任何情况下,都应该在一个单独的问题中提出,并提供一些示例输入以及您希望在输出中看到的内容。
-
John Rotenstein:我想要输出中显示的别名的 DNSName,而不是“None”;而且我喜欢一个 cmd 中的所有内容 - 糟糕的 Perlish 旧习惯 ;-)
标签: aws-cli json-query