ホスト URL とルーティングの設定

完了

ポリシー テンプレートは、エンドポイントによってトリガーされ、アクションで実行時に使用される API を動的に設定するためによく使用されます。 このポリシー テンプレートには、次のものがあります。

  • ホスト URL の設定: 完全なホスト URL をポリシーによって作成された URL に置き換えます。

  • 要求のルーティング: 受信した要求を設定されたホスト URL で指定されているエンドポイントにルーティングします。

ホスト URL の設定

既定では、使用されるホスト URL はコネクタのすべてのトリガーやアクションと同様に静的に設定されます。 ホスト URL の設定ポリシー テンプレートを使用すると、トリガーやアクションの URL を個別に設定できます。 このシナリオの例としては、ある URL (例: ordersapi.contoso.com) で注文関連のアクションを実行し、別の URL (例: userapi.contoso.com) でユーザー関連のアクションを実行する場合があります。 このシナリオでは、2 つのポリシー テンプレートを設定して、それぞれ適切なユーザーまたは注文のアクションを選択して新しいホスト URL を適用します。

通常、最も一般的な使用方法は、このモジュールで前述したように、ユーザーがカスタム コネクタを使用して新しい接続を作成するとき、実行時にホスト URL を指定できるようにすることです。 その例では、connectionParameters 式に hostURL というプロパティを追加して、ユーザーが接続時に完全なホスト URL を指定するようにしました。

その他にもホスト URL の設定ポリシー テンプレートがよく使用されるのは、ホスト URL の一部を動的に作成してその一部を静的にする場合です。 この方法を使用すると、ユーザーはアカウント名やその他のキー データを入力するだけで完全な URL を指定することができます。 このシナリオの例としては、ホスト URL が各キー コンテナーに固有の Azure Key Vault コネクタがあります。 ユーザーにキー コンテナーの完全な URL (https://contosokv.vault.azure.net) を指定するように求める代わりに、keyVaultName という接続プロパティを追加して、ユーザーに URL の一部のみを指定するように求めることができます (この例では contosokv)。 次の例は、このポリシー テンプレートを示しています。

URL テンプレートを矢印で示しているポリシーの詳細のスクリーンショット。

@connectionParameters 式に加えて、@headers 式や @queryParameters 式を使用してデータを含めることもできます。

要求のルーティング

カスタム コネクタの各アクションには、基盤となる API への要求に使用される完全修飾 URL (例: https://api.contoso.com/AddInvoice) があります。 この URL は、全般タブで指定したホスト (例: api.contoso.com) と、インポートした定義から取得されたパスまたはサンプルのインポート要求を実行したときにサンプルの要求から抽出されたパス (例: /AddInvoice) の組み合わせになります。 ホスト URL の設定ポリシーではホストを変更できますが、要求のルーティング ポリシーではパスを変更できます。

要求のルーティング ポリシーで実現できるもう 1 つのシナリオは、複数のアクションで同じパスを参照できることです。 たとえば、fromAmount をパラメーターとする請求書の一覧取得アクションがあり、fromAmount を既定値とする一括請求書の一覧取得アクションを作成する場合に、両方が同じパスの /ListInvoices を参照しているためにエラーになるとします。 その代わりに、API に存在しないパスである /ListBigInvoices を使用して、一括請求書の一覧取得アクションを定義することができます。 その後で要求のルーティングを使用して、それらのアクションの呼び出しを /ListInvoices に送信できます。 次の例は、このポリシー テンプレートを示しています。

名前、テンプレート、操作、新しいパス、メソッドが表示されているポリシーの詳細のスクリーンショット。

また、パラメーターやその他の式を含めて、パスの作成に役立てることもできます。 たとえば、Microsoft Outlook タスク コネクタで、グループのフォルダーの一覧取得の既定パスが /v2/me/taskgroups('{group_id}')/taskfolders であるとします。 次の要求のルーティングを使用すると、要求は新しいパスにルーティングされます。

名前、テンプレート、操作、新しいパス、メソッドに別の値が表示されているポリシーの詳細のスクリーンショット。

要求で参照されているアクションのパラメーターの 1 つの {group_id} が元のパスと同じように使用されていることに注目してください。

ホスト URL の設定ポリシー テンプレートと要求のルーティング ポリシー テンプレートを使用すると、基盤となる API の必要に応じて要求を柔軟にルーティングできます。