Amazon web services 从aws命令行添加多个DNS记录时出错(InvalidChangeBatch)

Amazon web services 从aws命令行添加多个DNS记录时出错(InvalidChangeBatch),amazon-web-services,command-line-interface,amazon-route53,Amazon Web Services,Command Line Interface,Amazon Route53,我试图使用此脚本add_multipleDNSrecord.sh添加多个DNS记录,但收到此错误 A client error (InvalidChangeBatch) occurred when calling the ChangeResourceRecordSets operation: FATAL problem: UnsupportedCharacter (Value contains unsupported characters) encountered with ' ' 但我能够添

我试图使用此脚本add_multipleDNSrecord.sh添加多个DNS记录,但收到此错误

A client error (InvalidChangeBatch) occurred when calling the ChangeResourceRecordSets operation: FATAL problem: UnsupportedCharacter (Value contains unsupported characters) encountered with ' '
但我能够添加单个记录,而不会出现aws cli的任何问题。有人能告诉我这个剧本出了什么问题吗

#!/bin/bash
# declare STRING variable
STRING="Hello World"
#print variable on a screen
echo $STRING

# Hosted Zone ID
ZONEID="Z24*************"


#Comment
COMMENT="Add new entry to the zone"

# The Time-To-Live of this recordset
TTL=300

# Type
TYPE="A"

# Input File Name
FILENAME=/home/ec2-user/awscli/route53/scripts/test.json



cat >> $FILENAME << EOF
    {
      "Comment":"$COMMENT",
      "Changes":[
        {
          "Action":"CREATE",
          "ResourceRecordSet":{
            "ResourceRecords":[
              {
                "Value":"$IP"
              }
            ],
            "Name":"$RECORDSET",
            "Type":"$TYPE",
            "TTL":$TTL
          }
        }
      ]
    }
EOF

echo $FILENAME
#/bin/bash
#声明字符串变量
STRING=“你好,世界”
#在屏幕上打印变量
echo$字符串
#托管区域ID
ZONEID=“Z24**************”
#评论
COMMENT=“将新条目添加到区域”
#此记录集的生存时间
TTL=300
#类型
TYPE=“A”
#输入文件名
FILENAME=/home/ec2 user/awscli/route53/scripts/test.json

cat>$FILENAME在替换空格并使用点而不是空格后解决了问题


现在,该脚本工作正常,能够向托管区域添加多条记录。

“Name”(您从$RECORDSET分配)需要是有效的DNS域名。查看DNS名称是否是问题所在—它也不应与单个记录一起工作。但是我可以添加单个DNS记录,只有当我添加多个记录时才会失败。文件需要是有效的JSON。如果你只是一个接一个地追加一个资源块,那就不会了。是的,你是对的,这就是为什么我在将DNS记录添加到区域后最终删除文件的原因。并再次创建一个新文件。嗨,karen,谢谢你的评论。DNS域名中的空间是问题所在。如果我用点来代替空格,比如“ip-00.00.0.$i”。http://.dev.abc.net.“它可以工作,我可以将多个记录发送到托管区域。