无法在特定区域创建S3存储桶
问题描述:
我试图使用AWS Java API创建存储桶,但无法在除US_WEST_1之外的任何区域创建存储桶。无法在特定区域创建S3存储桶
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.CreateBucketRequest;
import com.amazonaws.services.s3.model.GetBucketLocationRequest;
public class CreateBucket {
private static String bucketName = "hellobucket6434";
public static void main(String[] args) throws IOException {
AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider());
s3client.setRegion(Region.getRegion(Regions.AP_SOUTH_1));
if(!(s3client.doesBucketExist(bucketName)))
{
// Note that CreateBucketRequest does not specify region. So bucket is
// created in the region specified in the client.
s3client.createBucket(new CreateBucketRequest(
bucketName));
}
// Get location.
String bucketLocation = s3client.getBucketLocation(new GetBucketLocationRequest(bucketName));
System.out.println("bucket location = " + bucketLocation);
}
下面是当试图执行抛出的错误:
[ERROR] /C:/Users/surya/Desktop/aws-java-sample/src/main/java/com/amazonaws/samp
les/CreateBucket.java:[20,52] cannot find symbol
[ERROR] symbol: variable AP_SOUTH_1
[ERROR] location: class com.amazonaws.regions.Regions
按照该documentation,AP_SOUTH_1是一个有效的枚举常量。有些人可以让我知道我在这里错过了什么。
答
该地区在AWS SDK for Java 1.11.11介绍。升级到至少此版本以使用该区域。注意:最好总是使用最新版本。
+0
谢谢!升级了我的版本。它现在有效.. –
+0
很高兴它的工作。祝你好运! – kosa
您正在使用哪个版本的SDK?看来你正在使用一些旧版本。 – kosa
最有可能的版本问题。也可以尝试使用IDE清理项目。 – Kon
版本1.9.6 ... –