コンカレンシーを制限する

適用対象: すべての API Management レベル

limit-concurrency ポリシーは、含まれているポリシーがいずれかの時点で指定された数を超える要求によって実行されないようにします。 その数を超えると、新しい要求は 429 Too Many Requests (要求が多すぎます) のステータス コードですぐに失敗します。

Note

ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。

ポリシー ステートメント

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

属性

属性 説明 必要 Default
key 文字列。 コンカレンシー スコープを指定します。 複数のポリシーで共有できます。 ポリシー式を使用できます。 はい 該当なし
max-count 整数。 ポリシーに入力できる要求の最大数を指定します。 ポリシー式は使用できません。 はい 該当なし

使用法

次の例は、コンテキスト変数の値に基づいてバックエンドに転送される要求の数を制限する方法を示しています。

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

ポリシーに対する処理の詳細については、次のトピックを参照してください。