Servicesクラウドみなさん、こんにちは!フリューでモバイルサイト開発を行っている鷲見といいます。現在、あるソーシャルプラットフォーム上のアプリケーションを構築するプロジェクトでの、クラウド環境の導入の進行状況をそのまま記事にしています。実はプロジェクト自体は終了しているのですが、気にせずそのまま行きます。前回はSimpleDBの制限の回避方法についてお話しました。Javaを使って、プログラムからSimpleDBへの接続を行うを方法を解説したいとおもいます。Javaとは、AWSが提供しているJavaのプログラムからAWSのAPIを簡単に呼び出すためのライブラリです。アカウントに関する設定を少し行うだけで本当に簡単にAPIを呼び出すことができます。Javaを利用していますが、その他の言語向けにも以下のようなSDKが提供されています。Javaから利用可能なAWSのサービスは以下のとおりです。Balancing上のサービスに先日追加されたばかりのElastiCacheが含まれていることからも分かることなのですが、AWSが提供しているライブラリなので、AWSに新しいサービスが提供されたり、既存のサービスに新しい機能が提供されたりして、APIに変更が加わった際には、リリースとほぼ同時にSDKもバージョンアップが行われているのも大きな特徴です。Javaを利用条件は以下のとおりです。Logging)が利用できること利用するAWSサービスのサインアップが完了していること※上記は2011年9月15日現在の情報です。最新情報はAWSのホームページを参照してください。Javaサンプルプログラム今回は東京リージョンで以下のようなドメインを作り、データを投入し、情報を取得するといったサンプルプログラムです。SDKではAmazonSimpleDBインターフェースを実装するクライアントを生成し、クライアントのメソッドを通じてAPIの操作を行います。クライアントの生成時にアカウントの情報を設定します。Keyの情報を読み込みます。Credentials.propertiesファイルの内容は以下のようになっています。ID}また、クライアントはデフォルトのままではus-eastリージョンに接続するようになっているので、東京リージョンに設定するようにリージョンの設定を行います。Javaではクライアントに準備されているメソッドに対し、各メソッドに応じたRequestを渡します。Requestにはドメイン情報やアイテム情報など操作対象の情報を設定します。ドメインの作成ではCreateDomainRequestにドメイン名を設定し、createDomainメソッドに渡して実行しています。APIの二種類があります。投入するアイテムはReplaceableItemとしてアイテム名を指定して生成し、属性はReplaceableAttributeとして生成したReplaceableItemに設定します。同じ属性に複数の値を設定する場合は、同じ属性名のReplaceableAttributeを複数設定します。(下記Emp1のunitの例を確認してください)BatchPutAttributesAPIの場合は生成したReplaceableItemをListにしてリクエストに渡し、batchPutAttributesメソッドに渡して実行します。APIはドメイン名とアイテム名を指定して属性情報を取得します。実行結果はAPIに応じた形のGetAttributesResultで返されます。GetAttributesResultには該当アイテムの属性情報であるAttributeのリストが設定されています。APIはSelectのSQLに対応した表現を用いてデータを取得します。下記の例ではSQLそのままになっています。指定できるSQLには制限はありますが、ほぼSQLそのままで実行することが可能です。実行結果はAPIに応じた形のSelectResultで返されます。以下のようになります。Javaを用いてSimpleDBを操作するプログラムを解説しました。JavaでのSimpleDBプログラミングではAmazonSimpleDBを実装するクライアントを生成するクライアントにアカウント情報・リージョン情報を設定するクライアントに準備されているAPIのメソッドを実行する。各メソッドに沿ったRequest,Resultが準備されているということを確認しました。Javaを利用すれば簡単にSimpleDBを操作することが出来ることを確認していただけたと思います。Javaには準備されています。次回はSimpleDBのデータとJavaオブジェクトのマッピングを行うことのできるO/Rマッパーである『SimpleJPA』について、サンプルプログラムを交えて解説したいと思います。