OneAPI
レート制限について
レート制限は、特定の時間枠内で実行できるAPI呼び出しの数を調整します。次のセクションでは、Zscaler OneAPIで使用されるレート制限のサマリーを示します。
ZIA API
Zscaler Internet Access (ZIA) APIでは、すべてのエンドポイントとアクションに2種類のレート制限があります。
- 短時間にリクエストが大量に発生することを防ぐための下限。
- 長時間にリクエストが大量に発生することを防ぐための上限。
すべてのエンドポイントには重みが割り当てられ、すべての重みにはデフォルトのレート制限があります。次の表に、各重みの一般的な割り当てを示します。ただし、一部のエンドポイントには例外があり、さらに特定の操作ではこれらの標準的な値とは異なる重みが設定される場合があります。ZIA APIエンドポイントごとのレート制限については、「APIレート制限概要」を参照してください。
体重 | 代表的な課題 | リクエスト/秒 | リクエスト/分 | リクエスト/時間 |
---|---|---|---|---|
重い | DELETE | - | 1 | 4 |
中 | POST、PUT | 1 | - | 400 |
光 | GET | 2 | - | 1000 |
ベスト プラクティスとして、エンドポイントを呼び出すたびに、スクリプトに待機(またはスリープ)期間を含める必要があります。たとえば、Pythonでプログラミングしている場合は、time.sleep()
関数です。定義されたレート制限を超えると、HTTP 429レスポンス コードが返されます。
ZIAは、APIレスポンスでレート制限ヘッダーを送信して、レート制限の現在のステータスに関する情報を提供し、ユーザーがAPI統合を事前に計画し、レート制限に達するのを防ぐことができます。レート制限ヘッダーは次のとおりです。
x-ratelimit-limit
:現在のAPIリクエストに適用可能なレート制限の上限。x-ratelimit-remaining
:現在のレート制限ウィンドウに残っているAPIリクエストの数。x-ratelimit-reset
:レート制限がリセットされるまでの現在のウィンドウに残っている時間(秒単位)。
ZPA API
組織ごとに、特定のIPアドレスから呼び出されるZscaler Private Access (ZPA) APIはすべてのエンドポイントには、次のレート制限が適用されます。
- GET呼び出しの場合は10秒間隔で20回
- POST/PUT/DELETE呼び出しの場合は10秒間隔で10回
すべてのレート制限は、最初の呼び出しが実行されるとすぐに開始されます。呼び出しは1秒に2回以上発生する可能性がありますが、各操作タイプの制限を超えないようにします。
APIリクエストが定義されたレート制限を超えると、retry-after
フィールドを含むレスポンス ヘッダーとともにHTTP 429レスポンス コードが返されます。このフィールドは、再試行メカニズムを容易にするために次のAPI呼び出しを行う前に待機する必要がある時間を示します。次の例は、retry-after
フィールドを含み、13s
という値は13秒の待機期間を示すレスポンス ヘッダーです。
{
"content-type": "application/json",
"date": "Wed, 6 Mar 2024 11:38 GMT",
"retry-after": "13s"
}
Zscaler Client Connector API
各組織に、特定のZscaler Client Connector API IPアドレスから呼び出されるすべての エンドポイントには、1日あたり3回の呼び出しのレート制限がある/downloadDevices
エンドポイントを除き、1時間あたり100回の呼び出しのレート制限が適用されます。
すべてのレート制限は、最初の呼び出しが実行されるとすぐに開始されます。呼び出しは1秒に2回以上発生する可能性がありますが、各操作タイプの制限を超えないようにします。
Zscaler Client ConnectorはAPIレスポンスでレート制限ヘッダーを送信して、レート制限の現在のステータスに関する情報を提供し、ユーザーがAPI統合を事前に計画し、レート制限に達するのを防ぐことができます。レート制限ヘッダーは次のとおりです。
x-ratelimit-limit
:現在のAPIリクエストに適用可能なレート制限の上限。x-ratelimit-remaining
:現在のレート制限ウィンドウに残っているAPIリクエストの数。x-ratelimit-reset
:レート制限がリセットされるまでの現在のウィンドウに残っている時間(秒単位)。
レート制限の対象となるクライアントは、さらに先に進むために指数関数的にバックオフする必要があります。