2 回答

TA貢獻(xiàn)1836條經(jīng)驗 獲得超5個贊
AWS SDK 開發(fā)團(tuán)隊決定要求 Route53 請求明確指示Region.AWS_GLOBAL
或 請求不起作用,
要訪問 Route53,您當(dāng)前需要指定 AWS_GLOBAL 區(qū)域。這樣做是為了防止客戶使用全球服務(wù),而沒有意識到對于此服務(wù),您的呼叫可能不會停留在該地區(qū),而可能會跨越全球。
不幸的是,亞馬遜沒有在 SDK 中記錄這一點(我可以找到),也沒有提供有用的錯誤消息,而是假設(shè)開發(fā)人員在 SDK 嘗試訪問不存在的端點時會以某種方式猜測到問題,即使SDK 是根據(jù) API 和在線文檔使用的。
簡而言之,Route53 客戶端必須像這樣創(chuàng)建:
route53Client?=?Route53Client.builder().region(Region.AWS_GLOBAL).build();

TA貢獻(xiàn)1853條經(jīng)驗 獲得超18個贊
以下是列出托管區(qū)域的 AWS Route 53 V2 代碼示例:
package com.example.route;
//snippet-start:[route.java2.list_zones.import]
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.route53.Route53Client;
import software.amazon.awssdk.services.route53.model.HostedZone;
import software.amazon.awssdk.services.route53.model.Route53Exception;
import software.amazon.awssdk.services.route53.model.ListHostedZonesResponse;
import java.util.List;
//snippet-end:[route.java2.list_zones.import]
public class ListHostedZones {
public static void main(String[] args) {
Region region = Region.AWS_GLOBAL;
Route53Client route53Client = Route53Client.builder()
.region(region)
.build();
listZones(route53Client);
}
//snippet-start:[route.java2.list_zones.main]
public static void listZones(Route53Client route53Client) {
try {
ListHostedZonesResponse zonesResponse = route53Client.listHostedZones();
List<HostedZone> checklist = zonesResponse.hostedZones();
for (HostedZone check: checklist) {
System.out.println("The name is : "+check.name());
}
} catch (Route53Exception e) {
System.err.println(e.getMessage());
System.exit(1);
}
}
//snippet-end:[route.java2.list_zones.main]
}
添加回答
舉報