AmazonS3Client 已弃用如何使用凭据获取 s3client 对象
AmazonS3Client is deprecated how to get s3client object with using credential
为了获取 s3 客户端对象,我使用以下代码。
BasicAWSCredentials creds = new BasicAWSCredentials(key, S3secretKey);
AmazonS3 s3Client =AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).build();
低于错误
无法通过地区提供商链找到地区。必须在构建器或设置环境中提供明确的区域以提供区域。
对于构建器,您需要使用构建器方法提供您的 S3 存储桶区域,例如 .withRegion(Regions.US_EAST_1)
使用 1.11.98 版本的 sdk 的一种方法,在您的代码中,您可以这样做:
AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
你需要有 ~/.aws/credentials 和 ~/.aws/config 文件:
~/.aws/credentials内容:
[pca]
aws_access_key_id = KDDDJGIzzz3VVBXYA6Z
aws_secret_access_key = afafaoRDrJhzzzzg/Hhcccppeeddaf
[deault]
aws_access_key_id = AMVKNEIzzzNEBXYJ4m
aws_secret_access_key = bU4rUwwwhhzzzzcppeeddoRDrJhogA
~/.aws/config内容:
[default]
region = us-west-1
[pca]
region = us-west-1
确保它们是可读的,如果您有多个配置文件,请在开始服务之前导出配置文件:
alper$ export AWS_PROFILE="pca"
描述得很好here
我不得不改为:
AmazonS3 client = AmazonS3ClientBuilder.standard()
.withRegion(Regions.US_EAST_1)
.withForceGlobalBucketAccess(true)
.build();
模拟 "old" 方式(即新的 AmazonS3Client() )
为了获取 s3 客户端对象,我使用以下代码。
BasicAWSCredentials creds = new BasicAWSCredentials(key, S3secretKey);
AmazonS3 s3Client =AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).build();
低于错误
无法通过地区提供商链找到地区。必须在构建器或设置环境中提供明确的区域以提供区域。
对于构建器,您需要使用构建器方法提供您的 S3 存储桶区域,例如 .withRegion(Regions.US_EAST_1)
使用 1.11.98 版本的 sdk 的一种方法,在您的代码中,您可以这样做:
AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
你需要有 ~/.aws/credentials 和 ~/.aws/config 文件:
~/.aws/credentials内容:
[pca]
aws_access_key_id = KDDDJGIzzz3VVBXYA6Z
aws_secret_access_key = afafaoRDrJhzzzzg/Hhcccppeeddaf
[deault]
aws_access_key_id = AMVKNEIzzzNEBXYJ4m
aws_secret_access_key = bU4rUwwwhhzzzzcppeeddoRDrJhogA
~/.aws/config内容:
[default]
region = us-west-1
[pca]
region = us-west-1
确保它们是可读的,如果您有多个配置文件,请在开始服务之前导出配置文件:
alper$ export AWS_PROFILE="pca"
描述得很好here
我不得不改为:
AmazonS3 client = AmazonS3ClientBuilder.standard()
.withRegion(Regions.US_EAST_1)
.withForceGlobalBucketAccess(true)
.build();
模拟 "old" 方式(即新的 AmazonS3Client() )