Amazon APIの”ItemLookup”は、ItemIdを複数指定できたというお話

2010/03/01

ちょっとひと息ついて、「あまとも」と Amazon API のお話を。
 
■suz-lab - blog: AWSの"ItemLookup"は"ItemId"を複数指定できる
http://blog.suz-lab.com/2009/04/awsitemlookupitemid.html
For more than one ID, use a comma-separated list of up to ten IDs.
「一つ以上のIDをカンマ区切りで 最大10個まで 指定できます」

初めて知りました・・・ orz 今まで何をやっていたんだ・・・。
開発者用ドキュメントにもちゃんと書かれています。
 
最近、AmazonのAPIコールが 1日86,400回 (1秒に1回)という壁に
迫ってきてどうしようかと考えていたところだったのですが、
これでItemLookupを1商品ずつ指定して使いつつ、沢山の商品情報を
連続して取得する部分、具体的には 「あまとも」の価格チェック
部分のAPIコールをかなり減らすことができます。
 
http://webservices.amazon.co.jp/onca/xml?AWSAccessKeyId=
********************&AssociateTag=**********-22
&ContentType=text%2Fxml&IdType=ASIN&ItemId=
B000000000%2CB000000000%2CB000000000%2CB000000000%2CB000000000%2C
B000000000%2CB000000000%2CB000000000%2CB000000000%2CB000000000

&Operation=ItemLookup&ResponseGroup=Offers&Service=
AWSECommerceService&Timestamp=************************&Version=**********
&Signature=************************************************

※「%2Cはカンマ(,)のURLエンコード」
 
こんな感じでASINを10個繋げてコールします。
これで少なくともあまとも価格チェックの部分については、
1日のAPIコールが 39,000回 ⇒ 4,500回 まで減りました。
 
逆に、情報の取得ペースが10倍になったため、結果をDB/js/gifに書き込む
ための負荷のほうがまずい状態となったりして色々調整が大変なのですが、
ひとまずAPIのコール数だけ見れば余裕ができましたので、
EXPRESSモード の指定などもちょっと増やせるようになるかもしれません。
 
ただし、実は総APIコール数でいうと、最近は コミックダッシュ
新刊チェックのほうが多くて、1日4~5万近くに膨れ上がっています。
こちらはItemLookupではなくてItemSearchですので、これ以上減らしようが
ありません。このあたりも何か策を考えないといけないですね・・・。
 
ユーザリクエストベースでAPIをコールするようなサービスでは
よほどの規模がないと上限を気にする必要は出てきませんが、
バッチプログラムで情報を調査をするようなサービスでは、
許された範囲の中でやりくり をするだけでも結構大変です・・・。


2010/03/01 [updated : 2010/03/01 23:59]


この記事を書いたのは・・・。
CK@デジモノに埋もれる日々 @ckom
ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。




« デジ埋2010年2月のpv上位リスト

トップに戻る

NOVACのレコーダ&カセットUSBレコーダーは単体で巻き戻し不可?! »


▼ はてなブックマークのコメント ▼



AmazonのProduct Advertising API、旧バージョンは2/22から全て「2011-08-01」扱い


Product Advertising API の仕様変更アナウンス - ItemSearchで10ページ制限?!など


Amazon API で11/9からカスタマーレビュー取得不可?! 代替はiframeのURL


Amazonの Product Advertising API 『新ガイドライン』に注意! 施行は10/15から


AmazonのAPIから返ってくる2つの発売日「PublicationDate」と「ReleaseDate」


Product Advertising API の秘密鍵とクライアント型ソフトに関する公式見解


Amazon APIが電子署名必須の「Product Advertising API」に変更、その目的は?

ピックアップタグ




ブログ内検索



▼ コメント ▼

No.29707   投稿者 : 通りすがり   2010年3月 6日 01:47

バッチリクエストも併用すれば20件同時取得出来ますね
ItemLookup.1.ItemId=xxx
ItemLookup.2.ItemId=xxx
>>http://docs.amazonwebservices.com/AWSEcommerceService/4-0/PgCombiningOperations.html



★コミックダッシュ! 10,000人突破ありがとうキャンペーン!(9/18~10/23)
 
デジモノに埋もれる日々 : (C) CKWorks