以编程方式为 SQS 设置 AWS 区域

vik*_*kas 4 java eclipse amazon-sqs maven aws-sdk

我刚刚开始研究适用于 Java 和 .net 的 AWS 开发工具包。

目前我正在创建一个AWS SQS队列。我能够创建一个队列,列出现有队列,并使用 .net SDK 与队列对话。

当我尝试使用 java 进行相同操作时,我收到以下错误。

无法通过区域提供商链找到区域。必须在构建器或设置环境中提供显式区域来提供区域。我已经在 eclipse 的 aws 首选项中设置了所有必要的访问密钥、区域和凭据。

这就是我在 Java Maven 项目中初始化 SQS 客户端的方式

  AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索,发现 S3 有一个名为 withregion() 的关键字,我可以在其中指定区域,但 SQS 则没有。

我也尝试将区域设置为

  sqs.setRegion(Region.AP_Mumbai);
Run Code Online (Sandbox Code Playgroud)

这显示以下异常

AmazonSQS 类型中的方法 setRegion(com.amazonaws.regions.Region) 不适用于参数 (com.amazonaws.services.s3.model.Region)

我尝试使用 com.amazonaws.regions.Region 设置相同的内容,但没有这样的规定。

请建议

Fra*_*sco 5

我这样设置 aws sqs 客户端:

BasicAWSCredentials bAWSc = new BasicAWSCredentials(accessKey, secretKey);
return AmazonSQSClientBuilder.standard().withRegion(region).withCredentials(new AWSStaticCredentialsProvider(bAWSc)).build();
Run Code Online (Sandbox Code Playgroud)