我正在使用AWS Java API for S3。访问密钥,密钥,存储桶名称和区域名称都作为环境变量提供给我的应用程序。
我不确定如何设置区域名称...我目前正在获取AmazonS3Client
return new AmazonS3Client(new BasicAWSCredentials(accessKey, secretKey))
有人可以告诉我如何设置地区名称吗?
答案 0 :(得分:4)
请注意,如果您将区域作为字符串,则可以执行以下操作:
Regions regions = Regions.fromName('us-west-1');
您可以通过多种方式创建凭据提供程序,包括:
AWSStaticCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(
new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY));
然后(对于你正在做的任何建设者),你可以这样做:
AmazonSNS snsClient = AmazonSNSClientBuilder.standard()
.withRegion(region)
.withCredentials(credentialsProvider)
.build();
答案 1 :(得分:1)
您可以通过client.setRegion(region)
之类的内容完成此操作:
AmazonS3Client client =
new AmazonS3Client(new BasicAWSCredentials(accessKey, secretKey));
client.setRegion(region);
return client;
或者,new AmazonS3Client(new BasicAWSCredentials(accessKey, secretKey))
从以下选择区域信息,如果您尚未提供(它尝试从1到3搜索):
1。)EnvironmentVariableCredentialsProvider()
2。)SystemPropertiesCredentialsProvider()
3。)EC2实例
但是现在不推荐使用此方法,您现在应该使用:
AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard()
.withRegion(Regions.US_EAST_1)
.build();
答案 2 :(得分:0)
看一下AWS代码目录。有许多这样做的例子:
希望这会有所帮助