SimpleDB4GAE ~SimpleDBをGAEで使う~

SimpleDB4GAEの利用 (先生から指示された場合のみ)

GAEからSimpleDBにアクセスするためのライブラリとして、おちラボでは

を公開している。このサイトから jar ファイルをダウンロードし、かつ、Koherent-App-Engine-Library-for-Java からも jarファイルをダウンロードし、クラスパスに入れること。

SimpleDB4GAEプログラミング

アクセスインスタンスの生成

String url ="sdb.amazonaws.com";

String access_key = "XXXXXXXXXXXXXXXXXXXX";

String secret_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";

SimpleDB sdb= new SimpleDB(url,access_key,secret_key);

追加

putAttributeメソッドを利用する。データ追加の考え方として、一意の行を示すアイテム名を持った行にたいして、Mapに格納したペアデータ(属性名、値)を設定していく。

HashMap<String, String> map = new HashMap<String,String>();

map.put("aaa", input);

map.put("abcde", "ooooooo");

sdb.putAttributes("ドメイン名", "アイテム名", map);

検索(アイテム名による指定)

Map result =sdb.getAttributes("ドメイン名", "アイテム名");

String[] tt = (String[]) result.get("属性名");

System.out.println(tt[0]);

検索(Query利用)

SQLのようなQueryでデータを検索することができる

List<Map> result = sdb.select(query);

for(Map m : result){

String[] tt = (String[]) m.get("属性名");

System.out.println(tt[0]);

}

検索結果は文字列配列に格納されていることに注意してください。上記の例では、aaaという属性を持った値を取り出しています。