連休日記(2) AWSのクエリでニャゴニャゴ

昨日の続き。連休日記おしまい。

JSPAjax

いろいろ調べてAjaxを少し把握した。

html→jQueryServletAWS(戻り)→ServletJSPjQuery→html にすることに。

SDKを経由せずにAPIを叩いているだけで、ほとんどJSPAjaxの世界やん…どうしてこうなった。

でも、AWSCredentialをアプリの中に抱え込みたくないので、これはこれでしかたがない。

クエリを投げるしかない→しかしクロスドメインはダメ→サーバアプリを用意。で、こうなった。

もっと良い方法が分かったら、直そう・・・。

Ajaxで読み込むためだけに、HTML片のようなJSPを書くのは、慣れません。こういうもんなのかな。これまで、1つのページとして整形したJSPか、少なくともテンプレートとして読み込まれる「ページの一部としての」JSPしか書いたことなかったよ…。

AWSのクエリ

Javascript Scratchpad for Amazon EC2http://aws.amazon.com/developertools/1424)を読んだ。これって、先月、@j3tm0t0さんから教えていただいたscratchpad for SimpleDB(http://aws.amazon.com/code/developertools/1137)のEC2版ですかね?

クエリ文字列を組み立てる実装の参考に。エンコーディングとかシグネチャとか。JavaScriptは、エンコード用の関数が3つあるんですね。

というわけで、クエリを作るところは、まるっとマネをすればOKかと思ったんだけど、やっぱりいくつか修正中・・・。

認証情報の持ち回り方

上のコードでは、認証情報を親フレームで入力させておいて、都度取ってきている。Web音痴の自分でも、今時フレームが頂けないことくらいは認識している。

というわけで、以前内輪でオススメしてもらったlocalStorageを使ってみた。ここにどこまで大事な情報を入れてよいかは、考え中。

ハッシュアルゴリズム方式

SHA-1からSHA-256に変更。

クエリの文字列・・・

と、ここまでで作ったクエリを発行してみると、「The request signature we calculated does not match the signature you provided」といわれて動かない。ションボリ。

上をよんで直し中。

参考に、AWS Java SDKのAbstractAWSSigner#getCanonicalizedQueryStringメソッドを眺めてみた。これとscratchpadのgetStringToSign関数を見比べるに、もしや以前と仕様が変わったのかな。JavaScriptまだあまり読めないからよくワカラン。。。

そんな連休でした。平和です。