値の追加または更新

完了

このユニットでは、API の要求と応答のデータ値を設定するために適用できるポリシー テンプレートについて説明します。 最も一般的なシナリオは、API で要求の本文、ヘッダー、クエリに必要とされる値を設定して、作成者がそれを指定しなくてもよいようにすることです。 ポリシーでは、要求や応答のデータの設定に関するさまざまなタスクを柔軟に処理できます。 データ値の設定には、次のポリシー テンプレートを使用できます。

  • プロパティの設定: オブジェクトやコレクションのプロパティを追加または更新します。

  • クエリ文字列パラメーターの設定: クエリ文字列のパラメーターを追加または更新します。

  • HTTP ヘッダーの設定: 要求や応答のヘッダーの値を追加または更新します。

プロパティの設定ポリシー テンプレートの使用

プロパティの設定ポリシー テンプレートを使用すると、要求オブジェクトや応答オブジェクトの本文の値を設定または更新することができます。 @body() を使用して本文オブジェクトから別の既存の値を取得することで、文字列値または式を使用して定数値を設定できます。 次の例は、応答の本文に定数値を設定する方法を示しています。

プロパティの設定テンプレートを使用しているポリシーのスクリーンショット。

このポリシー テンプレートを実装した後に応答を確認すると、次の画像のように表示されます。

プロパティの設定ポリシーの結果が表示されているスクリーンショット。

上記の例は、ListInvoice 操作によって、請求書オブジェクトの配列から請求書プロパティを持つオブジェクトが返されたところを示しています。 請求書の配列のそれぞれの請求書にプレフィックス プロパティを設定する場合は、親オブジェクトまたはコレクションのパスを次の画像のように変更します。

請求書のコレクションを取得する式が示されているスクリーンショット。

この変更を行った後の結果は、次の図のようになります。

それぞれの請求書オブジェクトにプレフィックスが追加されているスクリーンショット。

また、本文に既に設定されている他の値も参照できます。 たとえば、次の画像は、Prefix プロパティが含まれている FullValue プロパティを示しています。

式と静的コンテンツの使用を示すスクリーンショット。

追加する値フィールドに、本文からプレフィックスの値を取得する {@body().Prefix} 式が含まれていることに注目してください。 式を有効にするには、式を中かっこ ({expression}) で囲む必要があります。

このフィールドでは、@body 式の参照のみを使用できます。他の @connectionProperties 式、@headers 式、@queryParameters 式などの使用はサポートされていません。

クエリ文字列パラメーターの設定ポリシー テンプレートの使用

クエリ文字列パラメーターの設定ポリシー テンプレートを使用すると、要求のクエリ パラメーターを追加または更新することができます。 クエリ文字列は要求にのみ関係するため、ポリシーの実行対象の値を設定する必要はありません。 既存の値があっても必ず値が設定されるプロパティの設定ポリシーとは異なり、このポリシーは設定が可能です。 パラメーターが存在する場合、次のいずれかのオプションにアクションを設定できます。

  • 上書き: 既存の値を置き換えます。

  • スキップ: 既存の値を置き換えません。

  • 追加: ポリシー テンプレートの値を既存の値に追加します。

この機能は値をいつ使用するかを制御できるため、既定値を指定する良い方法です。 この方法の例として、クエリ文字列パラメーターの設定ポリシーで $top パラメーターの既定値を 50 に設定する Microsoft Outlook コネクタがあります。 次の例は、このポリシー テンプレートを示しています。

クエリの設定ポリシーの使用を示しているスクリーンショット。

このポリシーを既定としてのみ使用するために、クエリ パラメーターが存在する場合のアクションスキップ オプションが使用されていることに注目してください。

HTTP ヘッダーの設定ポリシー テンプレートの使用

HTTP ヘッダーの設定ポリシー テンプレートを使用すると、要求、応答、エラーのヘッダーの値を追加または更新することができます。 クエリ文字列の設定ポリシー テンプレートと同様に、値が既に存在する場合のアクションを選択できます。 このポリシー テンプレートは、送信者 ID、変更追跡用の ETag、通常のコネクタ設定では処理されない特殊な API キー ヘッダーなど、API で想定されているヘッダーの値を設定するために最もよく使用されます。 たとえば、Azure Cognitive Services コネクタは、ヘッダーの設定ポリシー テンプレートを使用して、X-Ms-Sender ヘッダーの値を Microsoft Azure Logic Apps に設定します。 次の例は、このポリシー テンプレートを示しています。

ヘッダーの設定ポリシーの使用を示しているスクリーンショット。

これらのポリシー テンプレートを使用して、API で想定されている値を設定できます。 また、これらを使用して応答の値を設定することで、データを使用する作成者の作業を簡素化できます。 また、これらのポリシーを使用して、値が指定されていない場合に既定値を設定することもできます。 複数のポリシーを特定の順番で使用して、より複雑な値を構成することができます。