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 => “自分の秘密キー”
}
各種キーは以下のようにページにあります。↓
手順③ データ取得
基本的には手順①②を終えれば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