【发布时间】:2019-09-22 23:28:10
【问题描述】:
在 Windows 10 上,我使用的是 AWS Java SDK v2 (software.amazon.awssdk:route53:2.8.3),我只是尝试连接并列出我所有的 Route 53 托管区域。我在我的用户配置中(在我的.aws/config 文件中)指定了us-west-1 作为默认区域。
我使用以下内容创建了一个Route53Client:
Route53Client route53Client = Route53Client.builder().build();
请注意,我没有指明地区,因为在 online documentation 中它说:
当您使用 AWS CLI 或开发工具包提交请求时,不要指定区域和终端节点,或者将 us-east-1 指定为区域。
然后我尝试使用以下方式列出托管区域:
Set<HostedZone> hostedZones = client.listHostedZonesPaginator().stream()
.flatMap(response -> response.hostedZones().stream())
.collect(Collectors.toSet());
在日志中我看到如下调试消息:
[DEBUG] Unable to load region from software.amazon.awssdk.regions.providers.SystemSettingsRegionProvider@...:Unable to load region from system settings. Region must be specified either via environment variable (AWS_REGION) or system property (aws.region).
然后它为route53.us-west-1.amazonaws.com 抛出一个java.net.UnknownHostException。
当然,我现在的 Internet 连接不稳定。那是正确的端点吗?如果是,为什么该端点没有在 https://docs.aws.amazon.com/general/latest/gr/rande.html 中列出?如果不是,为什么它试图连接到us-west1 端点,如果我遵循在线文档(如我上面引用的),这表明不需要指示区域?还是只是我目前的 Internet 连接和不稳定的 DNS 查找问题?
【问题讨论】:
标签: java amazon-web-services amazon-route53