変数を設定する
適用対象: すべての API Management レベル
set-variable
ポリシーは、set-variable
変数を宣言し、式または文字列リテラルによって指定された値をこの変数に割り当てます。 リテラルが含まれている式は文字列に変換され、値の型は System.String
になります。
Note
ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。
ポリシー ステートメント
<set-variable name="variable name" value="Expression | String literal" />
属性
属性 | 説明 | 必須 |
---|---|---|
name | 変数の名前。 ポリシー式は使用できません。 | はい |
value | 変数の値。 式またはリテラル値を指定できます。 ポリシー式を使用できます。 | はい |
使用法
- ポリシー セクション: inbound、outbound、backend、on-error
- ポリシー スコープ: グローバル、ワークスペース、製品、API、操作
- ゲートウェイ: クラシック、v2、従量課金、セルフホステッド、ワークスペース
許可されている型
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"))" />
関連ポリシー
関連するコンテンツ
ポリシーに対する処理の詳細については、次のトピックを参照してください。
- チュートリアル:API を変換および保護する
- ポリシー ステートメントとその設定の一覧に関するポリシー リファレンス
- ポリシー式
- ポリシーの設定または編集
- ポリシー構成を再利用する
- ポリシー スニペットのリポジトリ
- Azure で Microsoft Copilot を使用してポリシーを作成する