Übung – Eine benutzerdefinierte API erstellen
In dieser Übung erstellen Sie zur Ausführung benutzerdefinierter Logik eine benutzerdefinierte Dataverse-API. Anschließend verwenden Sie die benutzerdefinierte API aus einem Schritt in einem Power Automate-Flow.
Wichtig
Verwenden Sie eine Testumgebung mit bereitgestelltem Microsoft Dataverse. Wenn Sie keine haben, können Sie sich für den Gemeinschaftsplan anmelden.
Aufgabe 1: Benutzerdefiniertes API-Projekt erstellen
Laden Sie Power Platform CLI herunter, und installieren Sie es.
Führen Sie die powerapps-cli-Datei aus, um die Installation zu beginnen.
Verwenden Sie den Einrichtungsassistenten, um die Einrichtung abzuschließen und Beenden auszuwählen.
Öffnen Sie Eingabeaufforderung.
Führen Sie den folgenden Befehl aus, und erstellen Sie einen neuen Ordner mit dem Namen CustomAPILab.
md CustomAPILab
Ändern Sie das Verzeichnis in den von Ihnen erstellten Ordner.
cd CustomAPILab
Sie sollten jetzt im Ordner CustomAPIlAB sein. Führen Sie den folgenden Befehl aus, um das neue Dataverse-Plug-In-Klassenbibliothek zu initialisieren.
pac plugin init
Die Erstellung der Dataverse-Plug-In-Klassenbibliothek sollte erfolgreich sein.
Führen Sie den folgenden Befehl aus, um das Projekt in Visual Studio zu öffnen.
start CustomAPILab.csproj
Das Projekt sollte in Visual Studio geöffnet werden.
Klicken Sie mit der rechten Maustaste auf die Datei Plugin1.cs, und benennen Sie sie in MatchPlugin.cs um.
Wählen Sie Ja aus, um Ihr Dialogfeld umzubenennen.
Klicken Sie mit der rechten Maustaste auf das Projekt „CustomAPILab“, und wählen Sie NuGet-Pakete auswählen aus.
Suchen Sie nach System.Text.RegularExpressions, und wählen Sie Installieren aus.
Öffnen Sie die Datei MatchPlugin.cs.
Fügen Sie die folgende Aussage hinzu.
using System.Text.RegularExpressions;
Fügen Sie die folgenden Zeilen in der ExecuteDataversePlugin-Methode und nach der var-Kontextzeile hinzu. Diese rufen den Wert aus den Eingabeparametern ab, die beim Aufruf der benutzerdefinierten API übergeben wurden.
string input = (string)context.InputParameters["StringIn"];
string pattern = (string)context.InputParameters["Pattern"];
Fügen Sie die folgende Zeile hinzu, um den Ablaufverfolgungsdienst zu erhalten.
ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));
Fügen Sie die folgende Zeile hinzu, um den Eingabewert in die Überwachung zu schreiben.
tracingService.Trace("Provided input: " + input);
Um die Regex.Match-Methode aufzurufen, fügen Sie anschließend die folgende Zeile hinzu.
var result = Regex.Match(input, pattern);
Schreiben Sie das Ergebnis zur Überwachung auf.
tracingService.Trace("Matching result: " + result.Success);
Ergänzen Sie abschließend die nachstehende Zeile, um den Ausgabeparameter „Übereinstimmend“ festzulegen.
context.OutputParameters["Matched"] = result.Success;
Die Execute-Methode sollte nun so aussehen.
Wählen Sie Erstellen > Lösung erstellen aus.
Das Projekt sollte erfolgreich erstellt werden.
Aufgabe 2: Benutzerdefiniertes API-Plug-In registrieren
Öffnen Sie die Eingabeaufforderung, und führen Sie folgenden Befehl aus, um das Plug-in Registration Tool zu starten.
pac tool prt
Wählen Sie + Neue Verbindung erstellen aus.
Wählen Sie Office 365 aus, geben Sie Ihre Anmeldeinformationen ein, und wählen Sie dann Anmelden aus.
Wählen Sie die richtige Umgebung aus.
Wählen Sie Registrieren | Neue Assembly registrieren aus.
Wählen Sie „...“ aus, und navigieren Sie dann zum Ordner CustomAPILab\bin\Debug\net462.
Wählen Sie CustomAPILab.dll aus.
Wählen Sie OK aus.
Wählen Sie Ausgewählte Plug-Ins registrieren aus.
Quittieren Sie die Meldung, dass der Vorgang erledigt wurde, mit OK. Mit dem Plug-In kann nun eine Verbindung zur benutzerdefinierten API hergestellt werden, die im nächsten Schritt erstellt wird.
Aufgabe 3: Benutzerdefinierte API erstellen
Navigieren Sie zum Power Apps Maker Portal, und überprüfen Sie, ob Sie sich in der richtigen Umgebung befinden.
Wählen Sie links in der Navigation Lösungen aus.
Wählen Sie + Neue Lösung aus.
Geben Sie im Feld „Anzeigename“ den Text Custom API Lab ein.
Klicken Sie in der Dropdownliste „Herausgeber“ auf CDS Default Publisher.
Wählen Sie Erstellen aus. Es wird eine benutzerdefinierte Lösung mit unseren Komponenten erstellt.
Wählen Sie + Neu | Sonstige | Andere | Benutzerdefinierte API aus.
Geben Sie die folgenden Informationen ein:
Eindeutiger Name: contoso_match
Name: Übereinstimmen
Anzeigename: Übereinstimmen
Beschreibung: Mit einer Zeichenfolge übereinstimmen
Bindungsart: Global
Klicken Sie unter „Plug-In-Typ“ auf das Suchsymbol, und suchen Sie das Plug-In.
Klicken Sie auf Speichern und schließen.
Klicken Sie auf Fertig.
Wählen Sie +Neu | Sonstige | Andere | Benutzerdefinierter API-Anforderungsparameter aus.
Bei einer benutzerdefinierten API klicken Sie auf das Suchsymbol und wählen Sie Übereinstimmen (Ihre benutzerdefinierte API) aus.
Geben Sie zur Vereinfachung als eindeutigen Namen, Namen, Anzeigenamen und Beschreibung StringIn ein.
Wählen Sie als Typ Zeichenfolge aus.
Klicken Sie auf Speichern und schließen.
Wählen Sie Fertig aus.
Wiederholen Sie die Schritte 13 bis 17, und fügen Sie einen weiteren benutzerdefinierten API-Anforderungsparameter mit dem Namen Muster hinzu.
Wählen Sie Neu | Weitere | Andere | Benutzerdefinierte API-Antworteigenschaft.
Bei einer benutzerdefinierten API klicken Sie auf das Suchsymbol und wählen Sie Übereinstimmen (Ihre benutzerdefinierte API) aus.
Geben Sie zur Vereinfachung als Eindeutigen Namen, Namen, „Anzeigenamen“ und Beschreibung Übereinstimmend ein.
Wählen Sie als Typ die Angabe Boolesch aus.
Klicken Sie auf Speichern und schließen.
Die Liste mit den Lösungskomponenten sollte so aussehen.
Aufgabe 4: Benutzerdefinierte API von Power Automate verwenden
Wählen Sie in der Lösung + Neu | Automatisierung | Cloud-Flow | Sofort aus.
Geben Sie Zeichenfolgen-Übereinstimmung für den Flownamen ein, und wählen Sie dann den Trigger Einen Flow manuell auslösen und Erstellen aus.
Wählen Sie die Schaltfläche + Neuer Schritt aus.
Suchen Sie nach Leistung, und wählen Sie Eine ungebundene Aktion ausführen aus.
Suchen und wählen Sie in der Liste mit den Aktionsnamen den Eintrag contoso_match aus.
Geben Sie unter StringIn eine gültige E-Mail-Adresse ein.
Geben Sie unter „Muster“ folgenden regulären Ausdruck ein: Dies ist ein einfaches E-Mail-Muster. Es sind weitere Beispiele verfügbar.
^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$
Der Flow sollte so aussehen.
Wählen Sie Speichern aus.
Klicken Sie nach dem Speichern auf Testen.
Wählen Sie die Option Manuell und dann Testen aus.
Wählen Sie Flow ausführen aus.
Klicken Sie auf Fertig.
Klicken Sie Zur Erweiterung und Anzeige der Ergebnisse nach Abschluss des Flows auf Eine ungebundene Aktion ausführen.
Nun haben Sie eine benutzerdefinierte Aktion erstellt und in einem Power Automate-Flow verwendet. Die benutzerdefinierte API-Aktion „contoso_match“ kann jetzt auch direkt in der Plattform-API aufgerufen werden.