ワシはワシが育てる

週刊少年ジャンプと任天堂のゲームが三度のメシより好きです。

AmazonのProduct Advertising APIで503エラーになる件

Amazonで商品情報や検索結果を返してくれるProduct Advertising APIについてですが、なぜか503エラーが10%位の確率で発生します。

初期状態で1秒1回まで、1時間に2000回の制限までとのことですが、これを守っても、それどころか数時間空けても503エラーが一定確率で出てきます。

RubyAmazon ECSを使用しているのですが、もはやエラー前提で以下のように処理しています。(運用上はエラー処理をもっと厳密にやったほうが良いでしょう)

retry_count = 0
begin
  Amazon::Ecs.item_lookup(...)
rescue
  retry_count += 1
  if retry_count < 5
    sleep(5)
    retry
  else
    return false
  end
end

他のブログ等を見ても同様にエラーが発生しているようですし、現状これがベターな気がします。