我尝试使用aws sdk for java(这不是第一次,它总是工作),但我得到这个错误:
亚马逊网站异常:未指定的位置约束与此请求发送到的区域特定终结点不兼容
在我的pom我有这个maven依赖
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.12.402</version>
</dependency>
这是我示例化S3客户端的代码:
@Bean
public AmazonS3 amazonS3() {
AWSCredentials cred = new BasicAWSCredentials(accesskey, secretkey);
AWSCredentialsProvider credProvider = new AWSStaticCredentialsProvider(cred);
return AmazonS3Client.builder()
.withRegion(Regions.ME_CENTRAL_1)
//.withCredentials(credProvider)
.withCredentials(DefaultAWSCredentialsProviderChain.getInstance())
.build();
}
如您所见,我尝试了两种不同的AWSCredentialsProviders,但总是得到相同的错误
1条答案
按热度按时间pdtvr36n1#
对于在us-east-1(N. Virginia)以外的区域创建的存储桶,需要位置约束。有关详细信息,请参阅https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html
LocationConstraint -〉(字符串)指定将创建时段的区域。如果不指定区域,则在美国东部(N. Virginia)区域(us-east-1)创建时段。