Amazon Web Services

Amazon Web Services (AWS)

概要

AWS を紹介するサイトは多いが、 情報が古いことがあるので注意すること。 例えば以下のサイトを参考にするとよい。

AWS アカウントの作成

まず、Amazon (US) に開発者(developer)として登録する必要がある。

過去に Amazon.com (Amazon.co.jp ではない) で買い物をしたことがあれば、そのアカウントの情報を転用できる。

登録時に、所属企業や利用する Webサイトを尋ねられるが 空欄でかまわない。登録が完了するとメールが届く。 その中に書かれている URL にアクセスし、 発行されている Access Key ID、Secret Access Key を確認する。

Amazon Associates の会員登録

この API (Product Advertising API) を使うには、 Amazon Associates のメンバーになり Associate Tag を発行する必要がある (2011年11月より)。

通常は自分のサイトで Amazon へのリンクを張るときに用いるものであるため、 サイトの URL や扱うつもりの商品ジャンルなどが尋ねられる。 URL は自分のブログでも、twitter のアカウントでも、 Amazon へのリンクを張る可能性のあるものなら何でもよい。

リクエストの作成

REST なので、リクエストの URL を作成すればよい。

署名をつけてリクエストをする必要がある。

とりあえず試してみる場合

署名を生成してくれるサイトを利用する。

Java のプログラムで署名をつける場合

まず Base64 の符号化をするので、そのライブラリを用意する。

Download Page から 「Commons Codec 1.6」の「Binary」から「commons-codec-1.6-bin.tar.gz」をダウンロードし、展開する (Windows の場合は「commons-codec-1.6-bin.zip」)。

$ tar xvzf commons-codec-1.6-bin.tar.gz

展開すると入っている commons-codec-1.6.jar が必要なファイルである。これを CLASSPATH に含める必要がある。 以下では、 このファイルをソースと同じディレクトリにコピーしたとしている。

サンプルプログラム

上記2つのソースを同じディレクトリに置いておく。 commons-codec-1.6.jar も同じディレクトリにあるとすると、 以下のようにコンパイル・実行することができる。

$ javac -classpath .:commons-codec-1.6.jar *.java
$ java -classpath .:commons-codec-1.6.jar AmazonRequester

classpath の区切りは、Linux では「:」、Windowsでは「;」であることに注意すること。

上記のソースは、 以下のサイトに掲載されているものの修正版である。

これは Amazon が公式に提供しているサンプルソースがもとになっている。 もとのソースとその修正方法については、必要であれば以下を参照すること。

レスポンスの解析

レスポンスは XML 文書なので、 その中から必要な要素を選んで情報を得ればよい。

レスポンスの XML宣言に文字コードの指定がないので、 例えばブラウザで読み込んだ際には文字化けしてしまう。