在使用java sdk访问aws s3时,本地调试一切ok,发布到服务器时却一直access denied。 反复确认key和region设置都没有问题。
使用build()而不是defaultClient()来创建s3 client
原来的代码
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); AmazonS3 s3 = AmazonS3ClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(credentials)) .withRegion(Regions.CN_NORTH_1) .defaultClient(); ListObjectsRequest listObjectsRequest = new ListObjectsRequest() .withBucketName(bucketName) .withPrefix(prefix) .withEncodingType("url"); ObjectListing objectListing = s3.listObjects(listObjectsRequest);修改后的代码
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); AmazonS3 s3 = AmazonS3ClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(credentials)) .withRegion(Regions.CN_NORTH_1) .build(); ListObjectsRequest listObjectsRequest = new ListObjectsRequest() .withBucketName(bucketName) .withPrefix(prefix) .withEncodingType("url"); ObjectListing objectListing = s3.listObjects(listObjectsRequest);但是我的withRegion并没有生效
