Host-URL und Routing konfigurieren
Eine häufige Verwendung von Richtlinienvorlagen besteht darin, eine dynamische Konfiguration der API zu ermöglichen, die Endpunkttrigger und -aktionen zur Laufzeit verwenden. Die folgenden Richtlinienvorlagen sind verfügbar:
Host-URL festlegen – Ersetzt die vollständige Host-URL durch eine URL, die von der Richtlinie erstellt wird
Weiterleitungsanforderung – Leitet eine eingehende Anfrage an einen angegebenen Endpunkt in der konfigurierten Host-URL weiter
Host-URL festlegen
Standardmäßig ist die verwendete Host-URL statisch konfiguriert, ähnlich wie bei allen Triggern und Aktionen auf Ihrem Konnektor. Durch Verwendung der Richtlinienvorlage Host-URL festlegen können Sie die URL für die Trigger und Aktionen individuell konfigurieren. Ein Beispiel für dieses Szenario wäre, wenn auftragsbezogene Aktionen unter einer URL angegeben wären (z. B. ordersapi.contoso.com
) und benutzerbezogene Aktionen unter einer anderen (z. B. userapi.contoso.com
). In diesem Szenario konfigurieren Sie zwei Richtlinienvorlagen, die jeweils den entsprechenden Benutzer auswählen oder Aktionen zum Anwenden der neuen Host-URLs bestellen.
Die häufigste Verwendung besteht wahrscheinlich darin, dass Benutzer die Host-URL zur Laufzeit angeben können, wenn sie mithilfe Ihres benutzerdefinierten Konnektors eine neue Verbindung erstellen, wie zuvor in diesem Modul gezeigt. In diesem Beispiel wurde eine Eigenschaft mit dem Namen hostURL zum Ausdruck connectionParameters hinzugefügt, und der Benutzer hat die vollständige Host-URL zum Zeitpunkt der Verbindung bereitgestellt.
Bei einer anderen gebräuchlichen Art der Verwendung der Richtlinienvorlage Host-URL festlegen wird ein Teil der Host-URL dynamisch erstellt und ein Teil statisch. Bei Verwendung dieses Ansatzes muss der Benutzer nur seinen Kontonamen oder andere Schlüsseldaten angeben, die die vollständige URL ergeben würden. Ein Beispiel für dieses Szenario ist der Azure Key Vault-Konnektor, bei dem die Host-URL für jeden Vault eindeutig ist. Anstatt den Benutzer zu bitten, die vollständige Vault-URL anzugeben (https://contosokv.vault.azure.net
), können Sie eine Verbindungseigenschaft mit dem Namen keyVaultName hinzufügen. Fordern Sie den Benutzer dann auf, nur diesen Teil der URL anzugeben (contosokv in diesem Beispiel). Das folgende Beispiel zeigt, wie diese Richtlinienvorlage aussehen würde.
Sie können Daten auch mithilfe der Ausdrücke @headers und @queryParameters zusätzlich zur Verwendung von @connectionParameters einschließen.
Weiterleitungsanforderung
Jede Aktion in Ihrem benutzerdefinierten Konnektor verfügt über eine vollständig qualifizierte URL (z. B. https://api.contoso.com/AddInvoice
), mit der die Anforderung an die zugrunde liegende API gestellt wird. Diese URL stammt aus der Kombination des Hosts (z. B. api.contoso.com
), den Sie auf der Registerkarte Allgemein angegeben haben, und dem Pfad (z. B. /AddInvoice), der entweder aus einer von Ihnen importierten Definition stammt oder aus einer Beispielanforderung extrahiert wurde, als Sie eine Beispielanforderung für den Import durchgeführt haben. Mit der Richtlinie Host-URL festlegen können Sie den Host ändern und mit der Weiterleitungsanforderung den Pfad.
Ein weiteres Szenario, das Sie mit der Richtlinie Weiterleitungsanforderung erreichen, besteht darin, dass Sie über mehrere Aktionen verfügen, die auf denselben Pfad verweisen. Wenn Sie beispielsweise über die Aktion Rechnungen auflisten verfügen, bei der fromAmount als Parameter ausgewählt ist, und Sie die Aktion Große Rechnungen auflisten erstellen wollten, die einen Standardwert für fromAmount hatte, erhalten Sie einen Fehler, da sie beide auf denselben Pfad verwiesen haben: /ListInvoices. Stattdessen können Sie die Aktion Große Rechnungen auflisten mit dem Pfad /ListBigInvoices definieren, der nicht in der API vorhanden ist. Dann können Sie eine Weiterleitungsanforderung verwenden, um diese Aktionsaufrufe an /ListInvoices zu senden. Das folgende Beispiel zeigt, wie die Richtlinienvorlage aussehen würde.
Sie können auch Parameter und andere Ausdrücke einfügen, um den Pfad zu erstellen. Beispielsweise besitzt der Microsoft Outlook-Aufgabenkonnektor einen Standardpfad im Ordner „Liste“ in einer Gruppe von /v2/me/taskgroups('{group_id}')/taskfolders. Mit den folgenden Weiterleitungsanforderungen werden die Anfragen an den neuen Pfad weitergeleitet.
Beachten Sie, dass in {group_id} die Anfragen auf einen der Parameter in der Aktion auf ähnliche Weise wie im ursprünglichen Pfad verwiesen haben.
Durch die Verwendung der Richtlinienvorlagen Host-URL festlegen und Weiterleitungsanforderung erhalten Sie Flexibilität, um Anforderungen nach Bedarf an die zugrunde liegende API weiterzuleiten.