使用DNS API我尝试删除NS
和SOA
记录,但收到此消息:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidZoneApex",
"message": "The resource record set 'entity.change.deletions[0]' is invalid because a zone must contain exactly one resource record set of type 'SOA' at the apex."
},
{
"domain": "global",
"reason": "invalidZoneApex",
"message": "The resource record set 'entity.change.deletions[1]' is invalid because a zone must contain exactly one resource record set of type 'NS' at the apex."
}
],
"code": 400,
"message": "The resource record set 'entity.change.deletions[0]' is invalid because a zone must contain exactly one resource record set of type 'SOA' at the apex."
}
}
通过谷歌网络控制台,我可以更新/修改记录,这有助于我添加自定义NS
和SOA
,以便我可以使用自己的虚荣名。
除此之外,如果我想添加新的NS
或SOA
,我会收到 alreadyexists 错误。
如何通过DNS API完全操纵区域?
答案 0 :(得分:1)
您无法删除NS和SOA记录,因为它们是系统管理的并且是DNS规范所要求的 - 错误消息基本上就是这样。您无法添加新的一个,因为您只能以特定名称拥有一个特定类型的RRSet。
通常,您可以通过在同一事务中删除并重新添加来替换记录集。也就是说,在Changes.create次呼叫中拥有deletions
和additions
。我不确定您是否可以随意为NS和SOA类型执行此操作,但如果它在云控制台中有效,则它将在API上工作,因为控制台只进行正常的API调用。