我在文档中看到,对于 SqsClient,必须提前设置
region
,使该客户端仅绑定到特定区域。我的问题是,是否可以使 SqsClient 区域无关,因此可以使用同一客户端发出对不同区域的请求。所以,我想为队列 Url 中的每个操作指定区域。但是当我检查 GetQueueUrlRequest 时,它也没有 region
字段。这是设计使然吗?有没有办法让 SqsClient 区域不可知?
谢谢
根据 AWS 开发工具包 Java V2 开发指南中的规定,当您创建 Java V2 服务客户端对象时,您需要指定一个区域。区域使您能够访问物理上位于特定地理区域的 AWS 服务。
区域永远不会使用 AWS 服务操作请求对象指定。它们始终使用服务客户端指定。例如,
SqsClient sqs = SqsClient.builder()
.region(Region.US_WEST_2)
.credentialsProvider(ProfileCredentialsProvider.create())
.build();
这就是 Java V2 SDK 的工作原理。您可以在此处的 AWS 开发指南中阅读有关此主题的更多信息。