Amazon Web Services 新宿鮫:第1回勉強会(もくもく&キックオフ)にいってきました

以前参加させていただいた新宿エルタワーでのAWS勉強会の流れで、 Amazon Web Services 新宿鮫に参加させていただきました。   もくもく系ということで、今回はEclipseからAWSをイジってみることにしました。 でもって、気になってるSWF(SimpleWorkFlow)に触れてみようかな、と。 #1人で家にこもってやっても挫折しそうだったので。。   Eclipseのインストール   実はMacEclipse使うの久しぶりで(IntelliJ使ってるので)、Eclipseをダウンロードするところから。   ↓てな具合のEclipseではじめます。

Eclipse Java EE IDE for Web Developers. Version: Juno Service Release 2 Build id: 20130225-0426

    AWS Toolkit for Eclipseのインストール   AWSAWS Toolkit for Eclipseのページを見ると↓のように書いてあるのでその通りに、、

1. Open Help→Install New Software 2. Enter http://aws.amazon.com/eclipse in the text box labeled “Work with” at the top of the dialog. 3. Select “AWS Toolkit for Eclipse” from the list below. 4. Click “Next.” Eclipse guides you through the remaining installation steps.

  が、インストールするときに↓で怒られてしまいました。。

Cannot complete the install because one or more required items could not be found. Software being installed: AWS SDK for Android 1.0.0.v201212110105 (com.amazonaws.eclipse.android.sdk.feature.feature.group 1.0.0.v201212110105) Missing requirement: AWS SDK for Android 1.0.0.v201212110105 (com.amazonaws.eclipse.android.sdk.feature.feature.group 1.0.0.v201212110105) requires 'com.android.ide.eclipse.adt 18.0.0' but it could not be found

  今回Androidでホゲホゲすることは考えてないので、チェック外して進めていきます。 ライセンスにacceptしてEclipseを再起動して完了です。     ■ どんなもんか眺めてみる   AWS ManagementっていうPerspectiveがあるので、それを開いてみます。   AWSと接続するようの情報を入力します。   僕の場合はAWSのアカウントはありましたが、Access KeyやSecret Access Keyって言われても ハニャ?って感じなので、 find your existing AWS security credentials で飛んだ先で Create a new Access Keyしてやります。

作成した情報をEclipse上で入力すると ↓のようになります。西海岸に立てているEC2インスタンスがあるのですが、普通に表示されています   EBSのボリュームが見れたりもしますが、他にサービス使ってないので、 オーって感じはあんまり無かったり…w     AWSプロジェクトを作ってみる   次にアプリケーションを作るのどうやるの?ってのを見ていこうと思います。 プロジェクト作成ウィザードからソレっぽいのが出てきたので、AWS Java Projectを選択します。   ↓諸々ダウンロードしてきてるみたいです。    サンプルが選択できるようになってるので、気になるヤツにチェック付けて進めてみます。   ↓こんなプロジェクトが出来上がりました。   aws-java-sdk-1.4.1.jarって事なのですが、どんな感じかなってみてくと、ガッツリです。   SWF(SimpleWorkFlow)とかパッケージいっぱい   んま、なんやかんやでSpring系の知識が役に立ちそうかなって思いました。     ■ S3Sample.javaを動かしてみる   パッと見で簡単そうだったS3のSampleをみてみます。   ってことでmain文眺めていきます。

    public static void main(String[] args) throws IOException {
        AmazonS3 s3 = new AmazonS3Client(new ClasspathPropertiesFileCredentialsProvider());
        Region usWest2 = Region.getRegion(Regions.US_WEST_2);
        s3.setRegion(usWest2);

接続情報はプロパティファイルで。元からイイ感じに書き込まれてました。   バケットの名前は一意である必要があるのでランダムな値付けてますね。

        String bucketName = "my-first-s3-bucket-" + UUID.randomUUID();
        String key = "MyObjectKey";

バケット作ります。

            System.out.println("Creating bucket " + bucketName + "n");
            s3.createBucket(bucketName);

バケットの中身をfor文で回して表示。

            System.out.println("Listing buckets");
            for (Bucket bucket : s3.listBuckets()) {
                System.out.println(" - " + bucket.getName());
            }

createSampleFileってメソッドで作ったテキトーなファイルをS3にputする。

            s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile()));

GETで取ってきて表示。それ用のメソッドでイイ感じに表示

            S3Object object = s3.getObject(new GetObjectRequest(bucketName, key));
            displayTextInputStream(object.getObjectContent());

コレ何したいんだろw

            for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) {
                System.out.println(" - " + objectSummary.getKey() + "  " +
                                   "(size = " + objectSummary.getSize() + ")");
            }

オブジェクト消して、、

            s3.deleteObject(bucketName, key);

バケット消して、、

            s3.deleteBucket(bucketName);

  てな具合で実際に動かしてみると、、

===========================================
Getting Started with Amazon S3
===========================================

Creating bucket my-first-s3-bucket-20669e64-5749-4b86-9c15-72f59c8ded5f

Listing buckets
 - my-first-s3-bucket-20669e64-5749-4b86-9c15-72f59c8ded5f
 - myfiles.shinodogg.com
 - mysite.shinodogg.com

Uploading a new object to S3 from a file

Downloading an object
Content-Type: text/plain
    abcdefghijklmnopqrstuvwxyz
    01234567890112345678901234
    !@#$%^&*()-=[]{};':',./?
    01234567890112345678901234
    abcdefghijklmnopqrstuvwxyz

Listing objects
 - MyObjectKey  (size = 135)

Deleting an object

Deleting bucket my-first-s3-bucket-20669e64-5749-4b86-9c15-72f59c8ded5f