首页 > 解决方案 > 使用新的 Amazon S3 Java SDK V2 拒绝访问

问题描述

我正在将 AWS SDK 1 迁移到 S3 的 2,并为我所在地区 us-east-1 中的每个操作获取拒绝访问异常。当我使用 sdk1 时没有发生这种情况。我试图解决这个问题并发现 S3 客户端与

clientConfiguration.setSignerOverride("S3SignerType");

我在 SDK 版本 2 中没有找到。

任何建议都会有所帮助!谢谢你。

标签: javaamazon-web-servicesamazon-s3aws-sdk

解决方案


要在使用 Amazon S3 Java API V2 时使用覆盖,请参阅此处的 Javadocs:

https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/client/builder/SdkClientBuilder.html#endpointOverride-java.net.URI-

看:

  • 端点覆盖

  • 端点覆盖(URI 端点覆盖)

您可以创建一个 URI 对象并在创建服务客户端时传递它

   URI myURI = new URI("<endpoint URL>");
   Region region = Region.US_EAST_1;
   S3Client s3 = S3Client.builder()
                .region(region)
                .endpointOverride(myURI)
                .build();

推荐阅读