以前参加させていただいた新宿エルタワーでのAWS勉強会の流れで、
Amazon Web Services 新宿鮫に参加させていただきました。
もくもく系ということで、今回はEclipseからAWSをイジってみることにしました。
でもって、気になってるSWF(SimpleWorkFlow)に触れてみようかな、と。
#1人で家にこもってやっても挫折しそうだったので。。
■ Eclipseのインストール
実はMacでEclipse使うの久しぶりで(IntelliJ使ってるので)、Eclipseをダウンロードするところから。
↓てな具合のEclipseではじめます。
Eclipse Java EE IDE for Web Developers.
Version: Juno Service Release 2
Build id: 20130225-0426
■ AWS Toolkit for Eclipseのインストール
AWSのAWS 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
コメント
[…] ■ 開発環境(Eclipse)の整備 EclipseはこないだAWSの勉強会でイジった時のあるのでソレで。 んで、EclipseにGlassFishのプラグイン入れるのってこんなやり方あったんだ?って感じ。 […]
[…] […]
[…] 今までAWSを、Eclipseから叩いたり、コンソールから叩いたりしてきたのですが、 今回はRDSをイジってみようと思います。 ■ 先月の課金 ちょこちょこAWSイジってて、毎回落とすのも面倒くさいなぁと思って ほったらかしてたら、チョイチョイ請求されてた今日この頃ですw ■ RDSでMySQLインスタンスをマルチアベイラビリティゾーンで立てる デフォルトはこの画面なのですが、 今回はせっかくなので新しいUIでやってみようと思います。 MySQLで。 Multi-AZ DeploymentをYesにします。 そのままデフォルトで突っ走って、、(ほんとはセキュリティグループとかどのサブネットとかですが。。) バックアップもなしで。。 Zoneがap-northeast-1aでSecondary Zoneがap-northeast-1cになりました。 ■ EC2インスタンスからデータベースにアクセス 先日支払いに怯えてインスタンスを全てterminateしてしまったので、、 普通にEC2インスタンス立てたのですが、MySQLクライアントとか面倒臭いかなと思って 網元なWordPressのAMI使って立てました。 同じ名前のが2個出てきて気持ち悪いですが、この楽チンさはたまらないですね。。 ■ テーブルを作ってデータの出し入れをしてみる データベース作って、 […]