というわけで AWS 改め ECS についての説明を試みちゃいます(^^)/
…って今度は大丈夫かな? すでに過去 2回、いざ書こうとすると ECS 4.0 ではまっているし(^^;
ECS(旧AWS)とは?
インターネット書店(+α) Amazon についての詳細な(ちょっと嘘)解説については前回の記事を参照してもらっちゃうとして、いきなりいきます。
まず ECS とは Amazon E-Commerce Service の略称で、インターネットを介して Amazon が扱う商品のデータを取得したり、ショッピングカートに商品を追加するといった機能を提供するサービスです。
これによって Web サイトやアプリケーションで Amazon が持つ膨大な商品のデータを利用できるだけでなく、Amazon の代理店みたいなマネをすることが出来る…らしいです。
どちらにしろヘンゼルが興味あるのはデータを利用する、それも Web サイトで表示する、という極々表面的な部分だけですね。
つまり、このサービスのほんの一面しか解説しません、というか出来ません(笑)
ちなみにこの ECS は少し前まで AWS(=Amazon Web Service) と呼ばれていました(^^)b
今ならまだあちこちにその名残を見ることが出来るはずです。
なお、AWS の日本語のサイト では規約および FAQ しか見ることが出来ません。それ以上はこちらの英語のページを参照する必要があります。
ECS ではどんな情報を得られるの?
例えば ECS 4.0 ではこんな感じです(^^)b
| URL | http://www.amazon.co.jp/exec/obidos/ASIN/4257902353/hanselnoyakat-22?SubscriptionId=[デベロッパートークン]%26camp=2025%26link_code=xm2 |
|---|---|
| 画像(小) | http://images.amazon.com/images/P/4257902353.09._SCTHUMBZZZ_.jpg( 43 x 60 ) |
| 画像(中) | http://images.amazon.com/images/P/4257902353.09._SCMZZZZZZZ_.jpg( 100 x 140 ) |
| 画像(大) | http://images.amazon.com/images/P/4257902353.09._SCLZZZZZZZ_.jpg( 339 x 475 ) |
| タイトル | 観用少女(プランツ・ドール) (1) |
| 著者 | 川原 由美子 |
| 出版社 | 朝日ソノラマ |
| 種別 | コミック |
| サイズ | 22(cm) |
| ページ数 | 176p |
| 発売日 | 1995-01 |
| 定価 | ¥ 795 |
| 新品 | ¥ 795 |
| 中古 | ¥ 250 |
| ASIN コード | 4257902353 |
| 売上ランキング | 127,310 |
| 日付 | 2001-02-21 |
|---|---|
| タイトル | 歪んだ愛の美しさ |
| 得点 | 5 |
| コメント | ミルクと砂糖菓子で、その美しさを保つ 観用・少女(プランツ・ドール)様々な購入者とのお話。 もちろん動くし、温かい、そして少女(プランツ)の 笑顔が、とてつもなく可愛い。 オムニバス形式で読みやすく、絵も綺麗。 フリフリ好きの方、少女好きの方とってもお勧めです。 |
| ASIN コード | タイトル |
|---|---|
| 4257721243 | 観用少女(プランツ・ドール) (2) |
| 4257720999 | 観用少女(プランツ・ドール) (1) |
| 4840225915 | スーパードルフィーバイブル |
| 4257902698 | 観用少女(プランツ・ドール) (2) |
| 4089056659 | ドラマCDシリーズ 「マリア様がみてる 黄薔薇革命」2枚組 |
本当はもう少し情報があるのですが、面倒なので省略です(^^;
ECS(旧AWS) ではどうやって情報を得るの?
実は…先ほどの情報は以下のような URL で取得できます。
な、長いですよね(^^;
取得した結果は XML になっているはずです。
えと、ECS のインターフェースには以下の 2種類があります。
| SOAP | Simple Object Access Protocol の略で、サーバー - クライアント間で XML のデータをやりとりする仕組みのこと…らしいです。ヘンゼルは触れたことないので聞かないでください(ノд`。) |
|---|---|
| REST | Representational State Transfer の略で、HTTP の PUT コマンドでデータを生成し、POST コマンドでデータを更新し、GET コマンドでデータを取得し…という仕組みのことらしいです。難しい理念はすっとばし(というかヘンゼルには判らない)今必要なことだけ言うと、普通に GET でデータベースから情報を取得できる仕組み、になります(笑) |
ヘンゼル、SOAP は判らないので、ここからは REST についてのみお話しします(^^)b
まず、上の説明で出てきた GET とは何か、も一応説明しておきますと、実はブラウザでサイトを見るときに出しているコマンドがそうです。
URL を入力したり、お気に入り(ブックマーク)から選択したり、リンクをクリックした時、ブラウザはサーバーに対し、これこれこーゆーファイル(データ)を下さいな♪ と GET コマンド出すはずです。きっとそうです。
このとき、普通の URL の後ろに ? を付けると、引数を渡すことが出来ます。あ、「引数」とは…なんか追加の情報です(笑) あれ=これ という形で指定します。複数つけるときは & で区切ります。「これ」の中に「=」や「&」、スペース、日本語などを入れたい時には、URL エンコードという特別なことをします。
というわけで、この章の冒頭の URL がそれです。
ところで、HTML でフォームを記述したことがある人の中には上の変な URL や GET に見覚えがある人もいるかもしれません。
そうです。<form method="get"> を使って上のような URL は作れちゃうのです。
とこんな感じです。
どんな HTML を書いているかは、ソースを直接参照下さい(笑)
XML で受け取ったデータはどうすればいいの?
受け取ったのが Java や PHP や Perl などで書かれたプログラムなら、どうとでも出来ちゃいます。というかしてください(笑)
でも、直接ブラウザで表示したい場合や、プログラムで利用するにしてももっと別の形の方がいい! という場合もあるかもしれません。というかきっとあるはずです。
そんなときは ECS に用意された XSLT による変換機能を利用してみましょう。
ではどうやってその XSLT を使うかというと…
- まず変換の仕方を記述した XSL ファイルを用意します。
- 作成した XSL ファイルを Amazon のサーバーから見える場所に置きます。えと、つまり、自分の PC に置いてあってもだめで、どこかのサーバーにアップしておく、ということです。自宅サーバーは例外ですね(^^)b
- URL の引数に Style=[XSL ファイルの URL] を追加します。
- 変換結果を XML 以外で出力する場合、さらに ContentType=[MIME タイプ] を追加します。HTML で受け取るなら ContentType=text/html ですね(^^)b
- あとは GET! です。成功すれば変換された結果が、失敗すれば生の XML データが指定した MIME タイプで返ってきます(T_T)
例えばずっと上で上げた例に適用すると、こんな感じです。
同じ XSL ファイルを使って、こんなことも出来ます。
上記フォームからでは検索結果は最初の 1ページ分しか出ません(笑)
また、ECS の仕様か、ヘンゼルの技術力の限界か、とにかくエラー時に変になっちゃうので注意です(^^;
というか XSLT って何?
XSLT というのは XSL Transformations の略で、XML で書かれたデータを XSL に書いてあるルールに従って変換する仕組みのことです。きっと。
こちらに W3C 勧告の日本語訳があります。
もちろんヘンゼルが読んでもさっぱりですが。
ヘンゼルが見てなんとなくわかるのは、たのしい XMLさん。
というわけで XSLT に関して上記サイト以上に判りやすい解説やアドバイスをするのはヘンゼルにはちょっと難しいです(^^;
なんとかがんばって下さい(笑)
具体的にどうすれば ECS を使えるようになるの?
まずはこちらで FAQ や Licensing Agreement(利用規約) を読んでおきましょう。
それからそのページにある「Amazon Webサービスへ」をクリックして本物(笑)の ECS サイトへ行きます。
えと、ここからは英語でがんばるしかありません(^^;
で、必要なことはというと、まず Register for AWS というところでデベロッパートークン(Subscription ID) を取得します。
でも、もしかするとその前に Amazon.com のアカウントを作成する必要があるかもしれません(^^;
そこまでいけば、後は Online Documentation でサービスの詳細を、Discussion Board や Announcements で最新の情報をいつでも自由に見ることが出来るようになります。
でも、英語ばかりのところで Amazon.com のアカウントを取得して、Subscription ID を取得して、ドキュメントを読んで、BBS やアナウンスを読んで、な~んてやりたくな~い! という人もいるかもしれません。というかきっといるです。
その場合は、他の人が ECS によって提供しているサービスを利用することになります。
それらのサービスについては前回も紹介した Amazon アソシエイトをサポート という記事を参照されるとよいです(^^)b

