クエリ文字列パラメーターの設定
適用対象: すべての API Management レベル
set-query-parameter
ポリシーは、要求クエリ文字列パラメーターの追加、値の置換、または削除を行います。 このポリシーを使用すると、オプションであるかまたは要求内に存在しない、バックエンド サービスで必要とされるクエリ パラメーターを渡すことができます。
Note
ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 このポリシーの構成に役立つ、ガイド付きのフォーム ベース エディターがポータルに用意されています。 API Management ポリシーを設定または編集する方法について説明します。
ポリシー ステートメント
<set-query-parameter name="param name" exists-action="override | skip | append | delete">
<value>value</value> <!--for multiple parameters with the same name add additional value elements-->
</set-query-parameter>
属性
Name | 説明 | 必要 | Default |
---|---|---|---|
exists-action | 対象のクエリ パラメーターが既に指定されている場合の操作を指定します。 この属性の値は次のいずれかに設定する必要があります。 - override - 既存のパラメーターの値を置き換えます。- skip - 既存のクエリ パラメーターの値を置き換えません。- append - 既存のクエリ パラメーターの値に値を追加します。- delete - 要求からクエリ パラメーターを削除します。override に設定した場合、同じ名前の複数のエントリを記載すると、すべてのエントリに従ってクエリ パラメーターが設定されます (複数回記載されます)。結果に設定されるのは記載した値のみです。ポリシー式を使用できます。 |
いいえ | override |
name | 設定するクエリ パラメーターの名前を指定します。 ポリシー式を使用できます。 | はい | 該当なし |
要素
名前 | 説明 | 必須 |
---|---|---|
value | 設定するクエリ パラメーターの値を指定します。 同じ名前のクエリ パラメーターが複数ある場合は、value 要素をさらに追加します。 ポリシー式を使用できます。 |
はい |
使用法
- ポリシー セクション: inbound、backend
- ポリシー スコープ: グローバル、ワークスペース、製品、API、操作
- ゲートウェイ: クラシック、v2、従量課金、セルフホステッド、ワークスペース
例
クエリ パラメーターの値を設定する
<set-query-parameter name="api-key" exists-action="skip">
<value>12345678901</value>
</set-query-parameter>
バックエンドにコンテキストを転送するようにクエリ パラメーターを設定する
次の例では、API レベルでポリシーを適用して、バックエンド サービスにコンテキスト情報を提供する方法を示します。
<!-- Copy this snippet into the inbound element to forward a piece of context, product name in this example, to the backend service for logging or evaluation -->
<set-query-parameter name="x-product-name" exists-action="override">
<value>@(context.Product.Name)</value>
</set-query-parameter>
詳細については、ポリシー式およびコンテキスト変数に関する各ページを参照してください。
関連ポリシー
関連するコンテンツ
ポリシーに対する処理の詳細については、次のトピックを参照してください。
- チュートリアル:API を変換および保護する
- ポリシー ステートメントとその設定の一覧に関するポリシー リファレンス
- ポリシー式
- ポリシーの設定または編集
- ポリシー構成を再利用する
- ポリシー スニペットのリポジトリ
- Azure で Microsoft Copilot を使用してポリシーを作成する