向 AWS Route 53 添加元素 JSON
Adding Elements to AWS Route 53 JSON
我一直在尝试以编程方式更新 AWS Route 53 DNS 记录,因此我一直在使用 jq 更新以下 JSON 文件;
{
"Comment": "Update 'A' record for drivepoc.biz zone file",
"Changes": [
{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "www.domain.biz.",
"Type": "A",
"TTL": 60,
"ResourceRecords": [
{
"Value": "123.123.123.123"
}
]
}
}
]
}
因此,现有条目 "Value": "123.123.123.123"
需要保留,但需要额外条目 "Value": "456.456.456.456"
。我最近要做的是:
cat a_record.json | jq '.Changes[0].ResourceRecordSet.ResourceRecords |= .+ ["Value: 456.456.456.456"]'
但这把它放在大括号外面并且引号是错误的;
"ResourceRecords": [
{
"Value": "52.18.219.57"
},
"Value": "456.456.456.456"
]
而不是要求的;
"ResourceRecords": [
{
"Value": "52.18.219.57"
},
{
"Value": "456.456.456.456"
}
]
有人可以给我一些提示吗?
您正在向该数组添加对象,而不是字符串。创建要插入的对象。
.Changes[].ResourceRecordSet.ResourceRecords += [{Value:"456.456.456.456"}]
我一直在尝试以编程方式更新 AWS Route 53 DNS 记录,因此我一直在使用 jq 更新以下 JSON 文件;
{
"Comment": "Update 'A' record for drivepoc.biz zone file",
"Changes": [
{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "www.domain.biz.",
"Type": "A",
"TTL": 60,
"ResourceRecords": [
{
"Value": "123.123.123.123"
}
]
}
}
]
}
因此,现有条目 "Value": "123.123.123.123"
需要保留,但需要额外条目 "Value": "456.456.456.456"
。我最近要做的是:
cat a_record.json | jq '.Changes[0].ResourceRecordSet.ResourceRecords |= .+ ["Value: 456.456.456.456"]'
但这把它放在大括号外面并且引号是错误的;
"ResourceRecords": [
{
"Value": "52.18.219.57"
},
"Value": "456.456.456.456"
]
而不是要求的;
"ResourceRecords": [
{
"Value": "52.18.219.57"
},
{
"Value": "456.456.456.456"
}
]
有人可以给我一些提示吗?
您正在向该数组添加对象,而不是字符串。创建要插入的对象。
.Changes[].ResourceRecordSet.ResourceRecords += [{Value:"456.456.456.456"}]