利用した、Amazon出品者向けアプリケーション・ソリューションの開発にお役に立つ情報をお届けする公式ブログです。MWSのスロットリング制限の値を一覧表にまとめました。この一覧表は、2014年2月現在のもので、今後仕様が更新される可能性がありますのでご注意ください。最新の値はリファレンス文書をご確認ください。1秒ごとに2リクエストフルフィルメント納品APIセクション、フルフィルメント在庫APIセクション、フルフィルメント出荷APIセクションの全てのオペレーションは、最大リクエストクォータ30回、回復レートは1時間ごとに7,200リクエストを共有します。リクエストを送信できる頻度」をご参照ください。MWSのスロットリング制限の値は各APIセクションリファレンス文書に分かれていて参照しずらいので、それぞれ抜き出して以下の一覧表にまとめてみました。MWS商品APIセクションにて、一度に多くの商品を調べるシナリオを有効にし、パラメータとして商品リストを送信するオペレーションに対し、スロットルのメカニズムが改良しました。この一覧表は、2012年10月現在のもので、今後も仕様が更新される可能性がありますのでご注意ください。最新の値はリファレンス文書をご確認ください。5分ごとに1リクエストフルフィルメント納品APIセクション、フルフィルメント在庫APIセクション、フルフィルメント出荷APIセクションの全てのオペレーションは、最大リクエストクォータ30回、回復レートは1時間ごとに7,200リクエストを共有します。リクエストを送信できる頻度」をご参照ください。MWSのスロットリング制限の値は各APIセクションリファレンス文書に分かれていて参照しずらいので、それぞれ抜き出して以下の一覧表にまとめてみました。MWS商品APIセクション更新に含まれる新しいオペレーションとスロットリングの変更を反映させた2012年7月現在のもので、今後も仕様が更新される可能性がありますのでご注意ください。最新の値はリファレンス文書をご確認ください。5分フルフィルメント納品APIセクション、フルフィルメント在庫APIセクション、フルフィルメント出荷APIセクションの全てのオペレーションは、最大リクエストクォータ30回、回復レートは1時間ごとに7,200リクエストを共有します。リクエストを送信できる頻度」をご参照ください。MWSのスロットリング制限の値は各APIセクションリファレンス文書に分かれていて参照しずらいので、それぞれ抜き出して以下の一覧表にまとめてみました。MWS商品APIセクション更新に含まれる新しいオペレーションとスロットリングの変更を反映させた2012年5月現在のもので、今後も仕様が更新される可能性がありますのでご注意ください。最新の値はリファレンス文書をご確認ください。5分フルフィルメント納品APIセクション、フルフィルメント在庫APIセクション、フルフィルメント出荷APIセクションの全てのオペレーションは、最大リクエストクォータ30回、回復レートは1時間ごとに7,200リクエストを共有します。GetReportRequestListByNextToken、GetReportListByNextToken、GetReportScheduleListByNextTokenオペレーションには特定の制限はありません。開発者アカウントのペアで1時間あたり合計10,000回のリクエストに制限されています。リクエストを送信できる頻度」をご参照ください。MWSのスロットリング制限の値は各APIセクションリファレンス文書に分かれていて参照しずらいので、それぞれ抜き出して以下の一覧表にまとめてみました。この情報は今日(2012年3月)現在のもので、今後仕様が更新される可能性がありますのでご注意ください。最新の値はリファレンス文書をご確認ください。5分フルフィルメント納品APIセクション、フルフィルメント在庫APIセクション、フルフィルメント出荷APIセクションの全てのオペレーションは、最大リクエストクォータ30回、回復レートは1時間ごとに7,200リクエストを共有します。GetReportRequestListByNextToken、GetReportListByNextToken、GetReportScheduleListByNextTokenオペレーションには特定の制限はありません。開発者アカウントのペアで1時間あたり合計10,000回のリクエストに制限されています。リクエストを送信できる頻度」をご参照ください。※この記事の内容は古い情報です。スロットリング制限の早見表(2012年3月)をご参照ください。MWSのスロットリング制限の値は各APIセクションリファレンス文書に分かれていて参照しずらいので、それぞれ抜き出して以下の一覧表にまとめてみました。この情報は今日(2011年8月)現在のもので、今後仕様が更新されるかもしれないことにご注意ください。最新の値はリファレンス文書をご確認ください。20秒フルフィルメント納品APIセクション、フルフィルメント在庫APIセクション、フルフィルメント出荷APIセクションの全てのオペレーションは、最大リクエストクォータ1,000回、回復レートは1時間ごとに10,000リクエストを共有します。回復レートは1秒あたりの増加率を設定するので、1秒あたりおよそ2.5新規リクエストということになります。GetFeedSubmissionListByNextToken、,GetReportRequestListByNextToken、GetReportListByNextToken、GetReportScheduleListByNextTokenオペレーションには特定の制限はありません。開発者アカウントのペアで1時間あたり合計10,000回のリクエストに制限されています。リクエストを送信できる頻度」をご参照ください。MWS)を正常に使用するには、スロットルを理解する必要があります。スロットルとは、一定時間内に送信できるリクエスト数を制限するプロセスのことです。リクエストとは、在庫フィードの送信や、注文レポート作成の要求を意味します。スロットルは、リクエストがウェブサービスに殺到するのを防ぎ、認証されたすべての開発者が確実にウェブサービスにアクセスできるようにするものです。MWSでは、リーキー・バケット・アルゴリズムのバリエーションを使用して、ウェブサービスを測定し、スロットルを実行します。このアルゴリズムは、下部にあいた穴から一定速度で水が流れ出すバケツの例えに基づいています。断続的にバケツに水を追加することができますが、あまりにも多くの水を一度に加えたり、速すぎる平均速度で水を加えたりした場合、水がバケツの容量を超えてしまいます。MWSにこの例えを適用してみてください。バケツの穴は回復レート、つまり新しいリクエストを行うことができるようになるまでにかかる時間を表しています。したがって、一度に多すぎるリクエストを送信するとバケツの水があふれます。MWSの場合置き換えると、スロットルが起こります。水はバケツから一定速度で漏れているため、バケツを満たしておくには、バケツに水を追加する前に少し待たなければなりません。そのため、最大リクエストクォータに達した後のリクエスト実行能力は、回復レート、つまり新しいリクエストを行えるようになるまでの時間によって管理されています。MWSスロットルをコントロールする3つの値の定義は以下のとおりです。スロットルが発生せずに一度に送信できるリクエスト数。リクエストクォータはリクエストを送信するごとに減少し、回復レートで増加します。最大リクエストクォータに達するまで、時間をかけてリクエストクォータが増加する率。リクエストクォータが達することができる最大サイズ。MWSのオペレーションでは、最大リクエストクォータが10回で、毎分に新規1リクエストの回復レートですが、最初にもっと多いリクエストを送信できる(より大きい最大リクエストクォータ)反面、追加されたリクエストを実行するまでにより長い時間がかかる(低い回復レート)があるオペレーションもいくつかあります。オペレーションでは、最大リクエストクォータが15回で、回復レートは2分ごとに新規1リクエストです。次の例を考え、これらのアイデアを適用してみてください。オペレーションを使って、25の在庫フィードを送信したいと考えてください。オペレーションの最大リクエストクォータは15回で、2分ごとに新規1リクエストの回復レートです。一度に25フィードのリクエストを送信すると、15回以降のリクエストはスロットルされます。そのため、リクエストクォータが復元された後で、もう一度10個のフィードのリクエストを再送信する必要があります。回復レートは2分ごとに1リクエストであるため、残り10個のフィードのリクエストを送信できるようなるまでに20分かかります。そのため、すべてのリクエストを送信してスロットルされたリクエストを再送信する代わりに、プロセスを自動化して徐々にフィードのリクエストを送信することができます。(元の25フィードのうちの)10個のフィードのリクエストを送信すると、リクエストクォータにはまだ5リクエストが残っています。その後10分待つと、回復レートによりリクエストクォータが10回に増加します(2分ごとにリクエスト1つが増えるので、10分で5つの新しいリクエストができます)。10個のフィードのリクエストを送信します。残りの5つのフィードのリクエストは、さらに10分待ってから送信できます。万事がうまくいけば、25個すべての在庫フィードを約20分で送信できることになります。リクエストを自動化すること考慮し、代替え処理ができるようにしてください。すれば、最大リクエストクォータに達したか、またはウェブサービスに高いトラフィック量が起きたかでスロットルが発生した場合には、リクエストの数を減らして、最初に送信されなかったリクエストを再送信することができます。スロットルを回避するためのヒントフィードや送信したリクエストが正常に処理されるよう、以下の点をご確認ください。送信する特定のリクエストのスロットル制限を理解しておいてください。サービスが利用不可の場合に、自動的にリクエスト数を減らす「バックオフ」プランを立てておいてください。プランでは、回復レート値を使って、いつリクエストが再送信されるべきかを決めてください。〇〇時0分ちょうど、〇〇時30分ちょうどでなく、それ以外の時刻を選んでリクエストを送信してください。〇〇時11分、または〇〇時41分というような時刻でリクエストを送信してください。トラフィックが低くなりがちな時間をうまく活用してください。throttling)(帯域幅調整)とは、帯域幅を必要とするサーバなどの機器について、一定時間当たりの送受信データ量を制限する手法である。出品者が自社のためだけに使用するMWSアプリケーションでは、出品者のアクセスキーでMWSへアクセスするので構いませんが、多数の出品者に使用させる目的でインテグレーターが開発するアプリケーションは、MWSアクセスと出品者データへのアクセス許可を分離する必要があります。これにより、インテグレーターは機密情報である出品者の秘密キーを入手することなくAmazonにある出品者データにアクセスすることができ、出品者はインテグレーターのアプリケーションが自分のデータへアクセスすることを許可したり、逆にアプリケーションを使わなくなった際にアクセスを取り消したりすることができます。同じような目的で、アプリケーションではなく開発者に対して、出品者のデータへアクセスすることを許可することもできます。アプリケーションアクセス許可モデルのデザイン方針MWSを通じて情報のやり取りをする際には、以下のアクセス情報が必要です。秘密キーマーケットプレイスID出品者IDMWSアプリケーションを作成する際に、インテグレーター自身が持つアクセスキーと秘密キーのペアに対して、出品者から入手した出品者固有のマーケットプレイスIDと出品者IDを組み合わせて、MWSにアクセスするようにデザインします。ユーザによってマーケットプレイスIDと出品者IDは違うので、これらの情報は設定画面やパラメータとして設定できるようにデザインするのがよいでしょう。ユーザとなる出品者のもの以下は、Javaクライアントライブラリを使用したサンプルの初期化部分です。service.listOrders(request);MWSで設けている回数制限もこのアクセスキーと出品者IDの組み合わせ単位で適用されます。事前準備として、インテグレーターはアプリケーション名(ASCII文字の名前を推奨します)を決めて、自分の出品者アカウントを使用してMWSのユーザ登録をしておきます。kWcrlEXAMPLEM/LtmEENI/aVmYvHNif5zB+d9+ct)表示された開発者アカウント番号と事前に決めておいたアプリケーション名をユーザとなる出品者に伝えて、出品者データへのアクセスを許可してもらいます。MWSポータルサイトにアクセスして「登録する」ボタンをクリックユーザとなる出品者の出品者アカウントでログイン2つ目の選択肢「アプリケーションを使って、マーケットプレイスWebサービスにアクセスすることを希望します」を選択して、開発者アカウント番号とアプリケーション名を入力して「次へ」をクリックライセンス契約が表示されるので確認して「次へ」をクリック以下の情報が表示されるのでアプリケーションで参照するように設定マーケットプレイスID出品者ID最後に今回の記事はいかがでしたでしょうか?ご意見などありましたら、フォーラムやお問い合わせフォームへお願いします。