2012年7月26日木曜日

AWS SDK for JAVA -S3 参照編-

Amazon Web Service(AWS)のSimple Storage Service(S3)をJavaで操作する方法。 

まず準備として、http://aws.amazon.com/jp/sdkforjava/から「AWS SDK for JAVA」をDLする。
解凍したディレクトリのlib内にある「aws-java-sdk-xxx.jar」をビルドパスに追加する。
これ、AWSをJavaから操作する場合の必須準備。

で、サンプルソース。
まずは、バケット一覧の取得。

  1. public void dispBucketList() {  
  2.   
  3.     // AWSのHP内のセキュリティ証明書から確認できる「アクセスキー」と「シークレットキー」を  
  4.     // を用いて、AWSに接続するための認証オブジェクトを作成.  
  5.     final BasicAWSCredentials credentials =   
  6.                       new BasicAWSCredentials("アクセスキー""シークレットキー");  
  7.    
  8.     // S3に接続するクライアントオブジェクトを作成.  
  9.     final AmazonS3Client s3Client = new AmazonS3Client(credentials);  
  10.   
  11.     // バケット情報を取得  
  12.     final List<Bucket> bucketList = s3Client.listBuckets();  
  13.   
  14.     for (final Bucket bucket : bucketList) {  
  15.         System.out.println("バケット名:" + bucket.getName());  
  16.     }  
  17. }  


次に、バケット内のファイル情報取得。
  1. // 引数については、1つ目のサンプル参照  
  2. public void dispItem(final AmazonS3Client s3Client, final String bucketName) {  
  3.     // 以下のようなおまじないを書くことでエラーが出なくなるそう  
  4.     System.setProperty("org.xml.sax.driver""org.xmlpull.v1.sax2.Driver");  
  5.   
  6.     // 指定したバケット内のファイル情報を取得  
  7.     final ObjectListing objectListing = s3Client.listObjects(bucketName);  
  8.     for (final S3ObjectSummary summary : objectListing.getObjectSummaries()) {  
  9.         // ファイル名を表示  
  10.         System.out.println("ファイル名:" + summary.getKey());  
  11.     }  
  12. }  

他にも色々と情報が取得できるのですが、詳しくは以下を見てみてください。
APIリファレンス

0 件のコメント:

コメントを投稿