具有PowerDNS API的多个TXT记录

具有PowerDNS API的多个TXT记录,dns,powerdns,Dns,Powerdns,我正试图通过PowerDNS HTTP API为我的域添加SPF、DMARC和DKIM记录。这是我找到的代码示例: curl -X PATCH --data '{"rrsets": [ {"name": "example.org.", "type": "TXT", "ttl": 86400, "changetype": "REPLACE", "records": [ {"content": "Example text", "disabled": false } ] } ] }' -H 'X-AP

我正试图通过PowerDNS HTTP API为我的域添加SPF、DMARC和DKIM记录。这是我找到的代码示例:

curl -X PATCH --data '{"rrsets": [ {"name": "example.org.", "type": "TXT", "ttl": 86400, "changetype": "REPLACE", "records": [ {"content": "Example text", "disabled": false } ] } ] }' -H 'X-API-Key: changeme' http://127.0.0.1:8081/api/v1/servers/localhost/zones/example.org. | jq .
这是可行的,但当我尝试插入另一个txt记录时,仅更改内容,PowerDNS会删除旧记录并插入新记录。这是由curl中的“”changetype:“REPLACE”参数引起的,但根据文档,我可以使用两个changetype:REPLACE(具有此效果)和DELETE(这将简单地删除记录)


有人有解决方案吗?

请记住,在DNS中,我们提到的RRset是资源记录集,这意味着给定资源类型可能有多个结果

正如您在中所看到的,省略号表示可以在“records”元素中放置多个项目,所以您应该将所有TXT记录同时放置在该元素中

比如(为了清晰起见格式化)

等等

后面的文件文本明确指出:

记录:新记录列表(替换旧记录)


非常感谢。我没有在PDNS文档中看到这一部分
  "records":
    [
      {
        "content": "Example text 1",
        "disabled": false,
      },
      {
        "content": "Example text 2",
        "disabled": false,
      },
      {
        "content": "Example text 3",
        "disabled": false,
      },
    ],