亚马逊CLI,路由53,TXT错误

时间:2016-11-21 23:24:51

标签: amazon-web-services aws-cli amazon-route53

我尝试通过Amazon CLI在Route53中创建TXT记录以进行DNS-01验证。似乎我非常接近但可能遇到CLI问题(或者我没有看到的格式问题)。正如你所看到的,它抱怨一个应该在引号中的值,但确实已经在引号中......

命令行:

aws route53 change-resource-record-sets --hosted-zone-id ID_HERE --change-batch file://c:\dev\test1.json

JSON文件:

{
"Changes": [
    {
        "Action": "UPSERT",
        "ResourceRecordSet": {
            "Name": "DOMAIN_NAME_HERE",
            "Type": "TXT",
            "TTL": 60,
            "ResourceRecords": [
                {
                    "Value": "test"
                }
            ]
        }
    }
]
}

错误:

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: Invalid Resource Record: FATAL problem: InvalidCharacterString (Value should be enclosed in quotation marks) encountered with 'test'

1 个答案:

答案 0 :(得分:6)

这些引号是JSON引号,而不是它们正在寻找的引号。

JSON字符串"test"对文字值test进行编码。

JSON字符串"\"test\""对文字值"test"进行编码。

(这是因为在JSON中,字符串中的文字"使用前导\进行转义。

听起来他们想要在里面包含值的实际字面引号,所以如果你手动构建这个JSON,你可能想要后者:"Value": "\"test\""

如果您传递了包含前导和尾随"的值,JSON库应该为您执行此操作。