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から操作する場合の必須準備。

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

public void dispBucketList() {

    // AWSのHP内のセキュリティ証明書から確認できる「アクセスキー」と「シークレットキー」を
    // を用いて、AWSに接続するための認証オブジェクトを作成.
    final BasicAWSCredentials credentials = 
                      new BasicAWSCredentials("アクセスキー", "シークレットキー");
 
    // S3に接続するクライアントオブジェクトを作成.
    final AmazonS3Client s3Client = new AmazonS3Client(credentials);

    // バケット情報を取得
    final List<Bucket> bucketList = s3Client.listBuckets();

    for (final Bucket bucket : bucketList) {
        System.out.println("バケット名:" + bucket.getName());
    }
}


次に、バケット内のファイル情報取得。
// 引数については、1つ目のサンプル参照
public void dispItem(final AmazonS3Client s3Client, final String bucketName) {
    // 以下のようなおまじないを書くことでエラーが出なくなるそう
    System.setProperty("org.xml.sax.driver", "org.xmlpull.v1.sax2.Driver");

    // 指定したバケット内のファイル情報を取得
    final ObjectListing objectListing = s3Client.listObjects(bucketName);
    for (final S3ObjectSummary summary : objectListing.getObjectSummaries()) {
        // ファイル名を表示
        System.out.println("ファイル名:" + summary.getKey());
    }
}

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

0 件のコメント:

コメントを投稿