レート制限
レート制限
概要
トークンが開発者ポータル、OAuth 付与、または Frame.io の独自アプリケーションを提供する Accounts バックエンドのいずれを介して配布されているかどうかにかかわらず、Frame.io へのすべての API 呼び出しはレート制限されます。
レート制限は、(使用されるトークンや認証方法に関係なく)個々のユーザーからのすべての API リクエストにわたって適用され、徐々に使い果たされ、補充され、Frame.io API に行われたすべてのリクエストの応答ヘッダーに反映されます。各エンドポイントは、独自の制限で設定されています。制限は 10 リクエスト/分から 100 リクエスト/秒までです。
特定のエンドポイントのレート制限を超えたリクエストは、応答で 429 HTTP エラーを受信します。
使い果たしと補充
Frame.io API は、プログレッシブレート制限のリーキーバケット戦略を使用しています。この戦略では、割り当てられたタイムウィンドウ中に更新を徐々に制限します。言い換えると、特定のリソースの更新を制限した後のハードカットオフ(つまり、「固定」および「スライディングウィンドウ」施行戦略)の概念はありません。代わりに、残りの制限は、リソースの制限およびタイムウィンドウを基準にしたペースで常に更新されます。
指数バックオフ
レート制限を管理するための推奨される戦略は通常、「指数バックオフ」と呼ばれます。
つまり、
429を受信したときは、一定期間(通常は 1 秒)一時停止する- さらに
429が受信された場合は、通常の機能が再開するまで待機時間を指数関数的に増やす
ヘッダー
API リクエストへの応答には、送信リクエストを制限するために使用される必要がある、次の 3 つのヘッダーが常に含まれます。
例
次の例は、GET v2/assets/:id/children への応答からであり、プロジェクトルート、フォルダーまたはバージョンスタックの子アセットを取得するためのものです。このパスの制限は 60,000 ミリ秒(1 分)あたり 40 リクエストであり、1 つ行われた後、39 リクエスト残っています。
詳細
レート制限は、Frame.io API のリソースパスにわたって大きく異なります。以下は、一部の詳細であり、リソースとアクション(例:PUT /assets/:id ではなく「アセット - 更新」)として読みやすいように表現されています。
一般的なルールとして、新しいデータを作成するリソースパスは 1 分あたり 100 呼び出し以下に制限され、アセットのリストを取得するリソースパスは 1 分あたり 200 呼び出しに制限されます。