限制並行
適用於:所有 APIM 層
limit-concurrency
原則可防止封入的原則在任一時候執行超過指定之要求數目。 當超出該數目時,新的要求會立即失敗,並產生「429
太多要求」狀態碼。
警告
由於節流架構的分散本質,速率限制永遠不會完全精確。 已設定的允許要求數目,與實際允許的要求數目之間的差異,取決於要求的數量和速率、後端延遲和其他因素。
注意
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
原則陳述式
<limit-concurrency key="expression" max-count="number">
<!— nested policy statements -->
</limit-concurrency>
屬性
屬性 | 描述 | 是必要欄位 | 預設 |
---|---|---|---|
索引鍵 | 字串。 指定並行範圍。 可由多個原則共用。 允許使用原則運算式。 | Yes | N/A |
max-count | 整數。 指定允許輸入原則的要求數目上限。 不允許使用原則運算式。 | Yes | N/A |
使用方式
使用注意事項
- 在區域中部署多個容量單位時,API 管理 強制執行的要求數目上限會較低。
範例
下列範例示範如何根據內容變數的值,限制轉送至後端的要求數目。
<policies>
<inbound>…</inbound>
<backend>
<limit-concurrency key="@((string)context.Variables["connectionId"])" max-count="3">
<forward-request timeout="120"/>
</limit-concurrency>
</backend>
<outbound>…</outbound>
</policies>
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則運算式
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- 使用 Microsoft Azure Copilot 撰寫原則