限制並行

適用於:所有 API 管理 層

limit-concurrency 原則可防止封入的原則在任一時候執行超過指定之要求數目。 當超出該數目時,新的要求會立即失敗,並產生「429 太多要求」狀態碼。

注意

請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則

原則陳述式

<limit-concurrency key="expression" max-count="number">
        <!— nested policy statements -->
</limit-concurrency>

屬性

屬性 描述 是必要欄位 預設
索引鍵 字串。 指定並行範圍。 可由多個原則共用。 允許使用原則運算式。 Yes N/A
max-count 整數。 指定允許輸入原則的要求數目上限。 不允許使用原則運算式。 Yes N/A

使用方式

範例

下列範例示範如何根據內容變數的值,限制轉送至後端的要求數目。

<policies>
  <inbound>…</inbound>
  <backend>
    <limit-concurrency key="@((string)context.Variables["connectionId"])" max-count="3">
      <forward-request timeout="120"/>
    </limit-concurrency>
  </backend>
  <outbound>…</outbound>
</policies>

如需使用原則的詳細資訊,請參閱: