変数を設定する

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

set-variable ポリシーは、set-variable変数を宣言し、または文字列リテラルによって指定された値をこの変数に割り当てます。 リテラルが含まれている式は文字列に変換され、値の型は System.String になります。

Note

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

ポリシー ステートメント

<set-variable name="variable name" value="Expression | String literal" />

属性

属性 説明 必須
name 変数の名前。 ポリシー式は使用できません。 はい
value 変数の値。 式またはリテラル値を指定できます。 ポリシー式を使用できます。 はい

使用法

許可されている型

set-variable ポリシーで使用する式は、次の基本的な型のいずれかを返す必要があります。

  • System.Boolean
  • System.SByte
  • System.Byte
  • System.UInt16
  • System.UInt32
  • System.UInt64
  • System.Int16
  • System.Int32
  • System.Int64
  • System.Decimal
  • System.Single
  • System.Double
  • System.Guid
  • System.String
  • System.Char
  • System.DateTime
  • System.TimeSpan
  • System.Byte?
  • System.UInt16?
  • System.UInt32?
  • System.UInt64?
  • System.Int16?
  • System.Int32?
  • System.Int64?
  • System.Decimal?
  • System.Single?
  • System.Double?
  • System.Guid?
  • System.String?
  • System.Char?
  • System.DateTime?

次の例は、inbound セクションの set-variable ポリシーを示しています。 この変数設定ポリシーは、isMobile の要求ヘッダーに User-Agent または iPad のテキストが含まれている場合に true に設定される iPhone ブール コンテキスト変数を作成します。

<set-variable name="IsMobile" value="@(context.Request.Headers.GetValueOrDefault("User-Agent","").Contains("iPad") || context.Request.Headers.GetValueOrDefault("User-Agent","").Contains("iPhone"))" />

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