我正在使用Java API的亞馬遜路由53創建動態子域。有沒有什麼辦法可以在使用Recordset或Route53的API的域中找到預先存在的子域。在路由53 AWS中,如何處理重複的子域
例如,我將動態創建子域,像
- ABC(abc.example.com)
- XYZ(xyz.example.com)
會發生什麼事我再次添加abc,xyz,或者如何找到使用java API的RecordSet中的子域已經處於活動狀態。
我正在使用Java API的亞馬遜路由53創建動態子域。有沒有什麼辦法可以在使用Recordset或Route53的API的域中找到預先存在的子域。在路由53 AWS中,如何處理重複的子域
例如,我將動態創建子域,像
會發生什麼事我再次添加abc,xyz,或者如何找到使用java API的RecordSet中的子域已經處於活動狀態。
使用listResourceRecordSets()
獲取託管區域的記錄集列表,並檢查該子域是否已經在該列表中。您可能可以過濾該列表以獲取ListResourceRecordSetsRequest.withStartRecordName()
所需的子域名。
根據documentation,changeResourceRecordSets
方法在AWS Route53 JavaSDK中用於創建,更改和刪除記錄集。如果您嘗試添加現有記錄集,則不會導致修改(因爲記錄集存在且更改爲空)。
但通過api它會拋出一個錯誤,所以我怎麼能區分這在AmazonRoute53Client? – Charles
它拋出的錯誤是什麼? –
您可以使用kichik提到的listResourceRecordSets()。如果你嘗試再次添加同一資源就會拋出com.amazonaws.services.route53.model.InvalidChangeBatchException包含異常消息
Tried to create resource record set [name='abc.example.com.', type='CNAME'] but it already exists (Service: AmazonRoute53; Status Code: 400; Error Code: InvalidChangeBatch; Request ID: **********)
你能不能讓我知道會發生什麼,當我嘗試添加相同的名稱? – Charles