2017-07-17 12 views
1

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); 

     } 

実行しようとしたときにエラーがスローされます。documentation 1として

[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 

、AP_SOUTH_1は、有効な列挙型定数です。私がここで紛失しているものを教えてください。

+1

使用しているSDKのバージョンはどれですか?古いバージョンを使用しているようです。 – kosa

+0

おそらくバージョンの問題です。 IDEでプロジェクトをクリーニングすることもできます。 – Kon

+0

バージョン1.9.6 ... –

答えて

1

この領域はAWS SDK for Java 1.11.11に導入されています。リージョンを使用するには、少なくともこのバージョンにアップグレードしてください。注:常に最新のバージョンを使用することをお勧めします。

+0

ありがとう!!私のバージョンをアップグレードしました。それは今働く.. –

+0

それはうまくいった。がんばろう! – kosa

関連する問題