2013年1月6日日曜日

もくもくAWS:AWS SDK for Androidを触ってみた(AWSAndroidDemo編)

前回に引き続きのAWSです。
今回は、記事で紹介されていたTVMを使わない各種DBアクセスのデモ版であるAWSAndroidDemoの確認。

もくもくAWS:AWS SDK for Androidを触ってみた(SimpleDB編)
http://miquniqu.blogspot.jp/2013/01/awsaws-sdk-for-androidsimpledb.html

 

■なにするの?

前回、以下の記事を参考にしましたが、実行したプロジェクトはSimpleDB単体のデモアプリでした。

スマホ×クラウドなアプリの新しい開発スタイル
http://www.atmarkit.co.jp/fsmart/articles/smaphocloud02/01.html

今回はAWSAndroidDemoを触ってみます。

 

■AWSAndroidDemoをeclipseに設定

SDKをDLして解凍したフォルダ内の「aws-android-sdk-1.4.4\samples」にある以下のプロジェクトをeclipseで開きます。

・S3_SimpleDB_SNS_SQS_Demo
This sample demonstrates how Android can interact with Amazon AWS.
→AWSを利用したSNSデモサンプル(旧AWSAndroidDemo?)

■ソース修正箇所

記事やReadMeに書いてますが、AwsCredentials.propertiesに

  1: # Fill in your AWS Access Key ID and Secret Access Key
  2: # http://aws.amazon.com/security-credentials
  3: 
  4: #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  5: # This sample App is for demonstration purposes only.
  6: # It is not secure to embed your credentials into source code.
  7: # Please read the following article for getting credentials
  8: # to devices securely.
  9: # http://aws.amazon.com/articles/Mobile/4611615499399490
 10: #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 11: 
 12: ACCESS_KEY_ID=CHANGE ME
 13: SECRET_KEY=CHANGE ME
 14: 
 15: 

とあるので、「CHANGE ME」とある箇所を取得しておいたアクセスキーに変更します。


あと、必要に応じてリージョンを変えておきます。
都合のいいことにAmazonClientManager.javaのクラスでまとめて処理を行っているのでなるべく近いリージョン(東京)にしときます。
各種サービスのリージョンはココで確認。



Regions and Endpoints
http://docs.amazonwebservices.com/general/latest/gr/rande.html


AmazonClientManager.javaの修正箇所

  1: public class AmazonClientManager {
  2:     private static final String LOG_TAG = "AmazonClientManager";
  3: 
  4:     private AmazonS3Client s3Client = null;
  5:     private AmazonSQSClient sqsClient = null;
  6:     private AmazonSimpleDBClient sdbClient = null;
  7:     private AmazonSNSClient snsClient = null;
  8:     
  9:     public AmazonClientManager() {
 10:     }
 11: 
 12: ~
 13: 
 14:     public void validateCredentials() {
 15:         if ( s3Client == null || sqsClient == null || sdbClient == null || snsClient == null ) {        
 16:             Log.i( LOG_TAG, "Creating New Clients." );
 17:         
 18:             AWSCredentials credentials = new BasicAWSCredentials( PropertyLoader.getInstance().getAccessKey(), PropertyLoader.getInstance().getSecretKey() );
 19: 		    s3Client = new AmazonS3Client(credentials);
 20: 			s3Client.setEndpoint("s3-ap-northeast-1.amazonaws.com");
 21: 			sqsClient = new AmazonSQSClient(credentials);
 22: 			sqsClient.setEndpoint("sqs.ap-northeast-1.amazonaws.com");
 23: 			sdbClient = new AmazonSimpleDBClient(credentials);
 24: 			sdbClient.setEndpoint("sdb.ap-northeast-1.amazonaws.com");
 25: 			snsClient = new AmazonSNSClient(credentials);
 26: 			snsClient.setEndpoint("sns.ap-northeast-1.amazonaws.com");
 27:         }
 28:     }
 29:     
 30:     public void clearClients() {
 31:         s3Client = null;
 32:         sqsClient = null;
 33:         sdbClient = null;
 34:         snsClient = null;    
 35:     }
 36: }
 37: 

 

■ビルド、起動、操作


これもReadMeにあるとおり、CleanなりBuild Allしてから実行します。


device-2013-01-06-223834


起動しましたね。
あとは@ITの記事通りやっていけばなんとなくわかります。


device-2013-01-06-230939device-2013-01-06-231010


以下の画像はAWS Management ConsoleのS3管理画面


image


■AWS Management Consoleのショートカット機能と、各種リソースの削除


画面上部にあるナビゲーションメニュー。Editを押すと対象となるサービス一覧が表示されるので、よく使う機能をドラッグするとショートカットが配置できます。


image


その他はまぁ、見たまま触ってみてということで。
大体、項目を選んで「~ Action」みたいなメニューがあったら項目の削除機能がでてくるので削除しときましょう。
残ってると課金されるようなので。


■まとめ


SimpleDB版と大差なかったです。
次はAnonymousTVMあたりやります。

0 件のコメント:

コメントを投稿