連休日記(2) AWSのクエリでニャゴニャゴ
昨日の続き。連休日記おしまい。
JSP+Ajax
いろいろ調べてAjaxを少し把握した。
html→jQuery→Servlet→AWS(戻り)→Servlet→JSP→jQuery→html にすることに。
SDKを経由せずにAPIを叩いているだけで、ほとんどJSP+Ajaxの世界やん…どうしてこうなった。
でも、AWSCredentialをアプリの中に抱え込みたくないので、これはこれでしかたがない。
クエリを投げるしかない→しかしクロスドメインはダメ→サーバアプリを用意。で、こうなった。
もっと良い方法が分かったら、直そう・・・。
Ajaxで読み込むためだけに、HTML片のようなJSPを書くのは、慣れません。こういうもんなのかな。これまで、1つのページとして整形したJSPか、少なくともテンプレートとして読み込まれる「ページの一部としての」JSPしか書いたことなかったよ…。
AWSのクエリ
Javascript Scratchpad for Amazon EC2(http://aws.amazon.com/developertools/1424)を読んだ。これって、先月、@j3tm0t0さんから教えていただいたscratchpad for SimpleDB(http://aws.amazon.com/code/developertools/1137)のEC2版ですかね?
クエリ文字列を組み立てる実装の参考に。エンコーディングとかシグネチャとか。JavaScriptは、エンコード用の関数が3つあるんですね。
というわけで、クエリを作るところは、まるっとマネをすればOKかと思ったんだけど、やっぱりいくつか修正中・・・。
認証情報の持ち回り方
上のコードでは、認証情報を親フレームで入力させておいて、都度取ってきている。Web音痴の自分でも、今時フレームが頂けないことくらいは認識している。
というわけで、以前内輪でオススメしてもらったlocalStorageを使ってみた。ここにどこまで大事な情報を入れてよいかは、考え中。
クエリの文字列・・・
と、ここまでで作ったクエリを発行してみると、「The request signature we calculated does not match the signature you provided」といわれて動かない。ションボリ。
- Making Query Requests http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using-query-api.html
- Making Secure Requests to Amazon Web Services http://aws.amazon.com/articles/1928
上をよんで直し中。
参考に、AWS Java SDKのAbstractAWSSigner#getCanonicalizedQueryStringメソッドを眺めてみた。これとscratchpadのgetStringToSign関数を見比べるに、もしや以前と仕様が変わったのかな。JavaScriptまだあまり読めないからよくワカラン。。。
そんな連休でした。平和です。