我有来自ap-south-1的s3存储桶,我使用aws java sdk AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard(). withRegion(Regions.AP_SOUTH_1).defaultClient();
访问它awazonS3.putObject(putObjectRequest);
当我的服务在“ap-south-1”中运行时,它工作正常。现在,当我将服务移动到“ap-south-2”时,相同的代码出现错误。
The ap-south-1 location constraint is incompatible for the region specific endpoint this request was sent to. (Service: Amazon S3; Status Code: 400; Error Code: IllegalLocationConstraintException; Request ID: TTTTDW5T2GF0J28S8; S3 Extended Request ID: l3djAuSl5RXWgSLn12gTnyXyF1P7Q60OAMxTNhyrnmIJxIZ2MjRRzmOMT1hsEW6+KjqA=; Proxy: null)
目前我正在使用
`<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.12.145</version>
</dependency>`
我想访问ap-south-2中的ap-south-1的同一存储桶
1条答案
按热度按时间2ul0zpep1#
问题是您使用的是
.defaultClient()
,我认为它忽略了您设置的Region尝试使用
.build()
,而不是使用configure属性构建客户端。所以
注意,您也可以显式指定S3端点,如下所示(但上面的代码更简单):