使用量のクォータをサブスクリプション別に設定する
適用対象: すべての API Management レベル
quota
ポリシーは、更新可能な呼び出しまたは有効期間中の呼び出しのボリュームと帯域幅クォータの両方またはそのどちらかをサブスクリプションに基づいて適用します。 クォータを超えると、呼び出し元は応答状態コード 403 Forbidden
を受け取ります。応答には、推奨される再試行間隔 (秒単位) の値を示す、Retry-After
ヘッダーが含まれます。
レート上限とクォータの違いについては、レート上限とクォータに関するページを参照してください。
注意
基になるコンピューティング リソースがサービス プラットフォームで再起動されると、クォータに達した後も API Management がしばらくの間要求を処理し続ける可能性があります。
Note
ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。
ポリシー ステートメント
<quota calls="number" bandwidth="kilobytes" renewal-period="seconds">
<api name="API name" id="API id" calls="number">
<operation name="operation name" id="operation id" calls="number" />
</api>
</quota>
属性
属性 | 説明 | 必要 | Default |
---|---|---|---|
bandwidth | renewal-period で指定した期間中に許可する最大合計キロバイト数。 ポリシー式は使用できません。 |
calls と bandwidth のいずれかまたは両方と同時に指定する必要があります。 |
該当なし |
calls | renewal-period で指定した期間中に許容する最大呼び出し総数。 ポリシー式は使用できません。 |
calls と bandwidth のいずれかまたは両方と同時に指定する必要があります。 |
該当なし |
renewal-period | クォータがリセットされた後の固定ウィンドウの長さ (秒単位)。 各期間の開始は、サブスクリプションの開始時刻を基準にして計算されます。 renewal-period を 0 に設定すると、この期間は無限に設定されます。 ポリシー式は使用できません。 |
はい | 該当なし |
要素
要素 | 説明 | 必須 |
---|---|---|
api | 製品内の API に対して呼び出しクォータをかけるには、これらの要素を 1 つまたは複数追加します。 製品と API の呼び出しクォータは別々に適用されます。 API は name または id のいずれかによって参照できます。 両方の属性が提供された場合、id が使用されて name は無視されます。 |
いいえ |
操作 | API 内の操作に対して呼び出しクォータをかけるには、これらの要素を 1 つまたは複数追加します。 製品、API、および操作の呼び出しクォータは別々に適用されます。 操作は name または id のいずれかによって参照できます。 両方の属性が提供された場合、id が使用されて name は無視されます。 |
いいえ |
api の属性
属性 | 説明 | 必要 | Default |
---|---|---|---|
name | 呼び出しクォータ制限の適用対象になる API の名前。 | name と id のいずれかを指定する必要があります。 |
該当なし |
id | 呼び出しクォータ制限の適用対象になる API の ID。 | name と id のいずれかを指定する必要があります。 |
該当なし |
bandwidth | renewal-period で指定した期間中に許可する最大合計キロバイト数。 ポリシー式は使用できません。 |
calls と bandwidth のいずれかまたは両方と同時に指定する必要があります。 |
該当なし |
calls | renewal-period で指定した期間中に許容する最大呼び出し総数。 ポリシー式は使用できません。 |
calls と bandwidth のいずれかまたは両方と同時に指定する必要があります。 |
該当なし |
renewal-period | クォータがリセットされた後の固定ウィンドウの長さ (秒単位)。 各期間の開始は、サブスクリプションの開始時刻を基準にして計算されます。 renewal-period を 0 に設定すると、この期間は無限に設定されます。 ポリシー式は使用できません。 |
はい | 該当なし |
operation の属性
属性 | 説明 | 必要 | Default |
---|---|---|---|
name | 呼び出しクォータ制限の適用対象になる操作の名前。 | name と id のいずれかを指定する必要があります。 |
該当なし |
id | 呼び出しクォータ制限の適用対象になる操作の ID。 | name と id のいずれかを指定する必要があります。 |
該当なし |
bandwidth | renewal-period で指定した期間中に許可する最大合計キロバイト数。 ポリシー式は使用できません。 |
calls と bandwidth のいずれかまたは両方と同時に指定する必要があります。 |
該当なし |
calls | renewal-period で指定した期間中に許容する最大呼び出し総数。 ポリシー式は使用できません。 |
calls と bandwidth のいずれかまたは両方と同時に指定する必要があります。 |
該当なし |
renewal-period | クォータがリセットされた後の固定ウィンドウの長さ (秒単位)。 各期間の開始は、サブスクリプションの開始時刻を基準にして計算されます。 renewal-period を 0 に設定すると、この期間は無限に設定されます。 ポリシー式は使用できません。 |
はい | 該当なし |
使用法
- ポリシー セクション: inbound
- ポリシー スコープ: 製品
- ゲートウェイ: クラシック、v2、従量課金、セルフホステッド、ワークスペース
使用上の注意
- このポリシーは、ポリシー定義ごとに 1 回のみ使用できます。
- このポリシーは、サブスクリプション キーを使用して API にアクセスする場合にのみ適用されます。
例
<policies>
<inbound>
<base />
<quota calls="10000" bandwidth="40000" renewal-period="3600" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
関連ポリシー
関連するコンテンツ
ポリシーに対する処理の詳細については、次のトピックを参照してください。
- チュートリアル:API を変換および保護する
- ポリシー ステートメントとその設定の一覧に関するポリシー リファレンス
- ポリシー式
- ポリシーの設定または編集
- ポリシー構成を再利用する
- ポリシー スニペットのリポジトリ
- Azure で Microsoft Copilot を使用してポリシーを作成する