【发布时间】:2020-06-30 11:14:39
【问题描述】:
请帮助我通过 awscli 创建一条记录很少的 NS 记录。它使用一条记录创建,但记录很少的错误:
#!/bin/bash
function change_batch2() {
jq -c -n "{\"Changes\": [{\"Action\": \"UPSERT\", \"ResourceRecordSet\": {\"Name\": \"cluster.domain_name.\", \"Type\": \"NS\", \"TTL\": 60, \"ResourceRecords\": [{\"Value\": \"record1. record2.\"} ] } } ] }"
}
aws route53 change-resource-record-sets --hosted-zone-id <ZONE_ID> --change-batch $(change_batch2) | jq -r '.ChangeInfo.Id' | cut -d'/' -f3
在这之后我有一个错误:
A client error (InvalidChangeBatch) occurred when calling the ChangeResourceRecordSets operation: [Invalid Resource Record: FATAL problem: RRDATANotSingleField (Value contains spaces) encountered with 'record1.
record2.']
【问题讨论】:
-
有什么错误?
-
这是一个在我之前写的脚本中为我工作的脚本:
aws route53 change-resource-record-sets --hosted-zone-id $ZONE_TAG --change-batch '{"Changes":[{"Action":"UPSERT","ResourceRecordSet":{"Name":"'$NAME_TAG'","Type":"A","TTL":300,"ResourceRecords":[{"Value":"'$MY_IP'"}]}}]}'。见:Amazon Route 53: How to automatically update IP addresses without using Elastic IPs - DEV Community -
感谢您的帮助。我在上面添加了错误文本。它不“喜欢”某个标志。我试过 \n, \\n,\r\n 但它不会创建 NS 记录,其中很少有记录除以“enter”。我认为可以这样做,因为我可以手动创建它,因此我认为错误出在命令的 JSON 部分。
-
您是否尝试过我的命令版本(使用您的值)?它不需要任何转义字符。
-
您的脚本要好得多。我已经尝试过了,它适用于 NS 记录的一个值。但是很少有记录给我同样的错误。
A client error (InvalidChangeBatch) occurred when calling the ChangeResourceRecordSets operation: [Invalid Resource Record: FATAL problem: RRDATANotSingleField (Value contains spaces) encountered with 'record1 record2']
标签: json amazon-web-services dns aws-cli