Amazon web services 从aws命令行添加多个DNS记录时出错(InvalidChangeBatch)
我试图使用此脚本add_multipleDNSrecord.sh添加多个DNS记录,但收到此错误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 ' ' 但我能够添
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.“它可以工作,我可以将多个记录发送到托管区域。