我已经为Amazon Route53设置了正确的请求来创建新的资源记录。这完美无缺。
但是,现在我想简单地更改该记录的值。当我使用新值再次发出相同的请求时,我会收到以下消息的异常。
尝试创建资源记录集[name ='my.test.domain。',type ='A'] 但它已经存在
在这两个请求中,我都将Action
参数设置为CREATE
,因为唯一的选择是DELETE
。
我正在使用PHP SDK的changeResourceRecordSets
方法,该方法的描述就像......
使用此操作可以创建或更改权威DNS 信息。
在Amazon Web Services文档的其他地方,我还找到了以下代码段......
如果资源记录集确实存在,则Amazon Route 53会对其进行更新 请求中的值。 Amazon Route 53可以更新现有的 仅当以下所有值匹配时才设置资源记录:名称, Type和SetIdentifier(用于延迟,加权和故障转移资源 记录集。)
这是否意味着我需要 SetIdentifier
参数?我没有,因为这些是延迟,加权或故障转移记录。或者那些是唯一可以像这样更新的记录?
答案 0 :(得分:3)
答案是使用UPSERT
操作。 PHP SDK没有记录此操作,但确实存在。
UPSERT 会更新记录(如果存在),或者如果记录不存在则更新记录。