Rails On Amazon Web Service [amazon-ecs]


Rails上でAmazon Web Serviceを利用してみる。
「amazon-ecs」という素晴らしいgemライブラリがあったので、すぐにデータ取得までいけました。
素敵です。

手順① amazon-ecsのインストール

以下のコマンドをかますだけです。

gem install amazon-ecs

手順② amazon-ecs設定

config/enviroment.rbに以下の行を追加します。
secret_keyとaccess_keyはAmazon Web Servie登録後に取得できます。
secret_keyがないとエラーがでて取得できません。

require ‘amazon/ecs’
Amazon::Ecs.debug = true
Amazon::Ecs.options = {
:aWS_access_key_id => “自分のアクセスキー”,
:associate_tag => “自分のアソシエイトID”,
:country => :jp,
:aWS_secret_key => “自分の秘密キー”
}

各種キーは以下のようにページにあります。↓
amazon

手順③ データ取得

基本的には手順①②を終えればRailsアプリ上でどこでも取得できます。

★一番シンプルなクエリ↓

res = Amazon::Ecs.item_search(“Rails”)

★ジャンルを絞る場合はこんな感じ (ex: ジャンル[Grocery]で絞り込み)

res = Amazon::Ecs.item_search(“Rails”, {:search_index => “Grocery”})

★デフォルトだと最低限のデータしか受け取れない。そのため、取得データ量を調整します。

res = Amazon::Ecs.item_search(“Rails”, {:response_group => ‘Large’})

★もちろん並べ替えもできます。

res = Amazon::Ecs.item_search(“Rails”, {:sort => ‘titlerank’})

※ジャンル一覧
[‘All’,’Apparel’,’Automotive’,’Baby’,’Beauty’,’Blended’,’Books’,’Classical’,’DVD’,’Electronics’,’ForeignBooks’,’Grocery’,’HealthPersonalCare’,’Hobbies’,’HomeImprovement’,’Jewelry’,’Kitchen’,’Music’,’MusicTracks’,’OfficeProducts’,’Shoes’,’Software’,’SportingGoods’,’Toys’,’VHS’,’Video’,’VideoGames’,’Watches’]

※Response_group一覧
[“large”, “medium”, “small”]

■参考サイト

http://amazon-ecs.rubyforge.org/doc/
http://docs.amazonwebservices.com/AWSEcommerceService/2005-10-05/PgDatamodelAttributes.html#Books
http://brass.to/blog/rails_with_amazon_web_service.html
http://d.hatena.ne.jp/willnet/20090716/1247737270
http://www.zo-i.com/project004cpro01/amazon-api%E3%81%8B%E3%82%89%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E5%8F%96%E5%BE%97.html