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() {
-
-
-
- final BasicAWSCredentials credentials =
- new BasicAWSCredentials("アクセスキー", "シークレットキー");
-
-
- final AmazonS3Client s3Client = new AmazonS3Client(credentials);
-
-
- final List<Bucket> bucketList = s3Client.listBuckets();
-
- for (final Bucket bucket : bucketList) {
- System.out.println("バケット名:" + bucket.getName());
- }
- }
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());
}
}
次に、バケット内のファイル情報取得。
-
- 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());
- }
- }
// 引数については、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リファレンス