Übung – Eine benutzerdefinierte API erstellen

Abgeschlossen

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

  1. Laden Sie Power Platform CLI herunter, und installieren Sie es.

  2. Führen Sie die powerapps-cli-Datei aus, um die Installation zu beginnen.

  3. Verwenden Sie den Einrichtungsassistenten, um die Einrichtung abzuschließen und Beenden auszuwählen.

  4. Öffnen Sie Eingabeaufforderung.

  5. Führen Sie den folgenden Befehl aus, und erstellen Sie einen neuen Ordner mit dem Namen CustomAPILab.

    md CustomAPILab

  6. Ändern Sie das Verzeichnis in den von Ihnen erstellten Ordner.

    cd CustomAPILab

  7. 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

  8. Die Erstellung der Dataverse-Plug-In-Klassenbibliothek sollte erfolgreich sein.

    Screenshot mit der erstellten Plug-In-Klassenbibliothek

  9. Führen Sie den folgenden Befehl aus, um das Projekt in Visual Studio zu öffnen.

    start CustomAPILab.csproj

  10. Das Projekt sollte in Visual Studio geöffnet werden.

  11. Klicken Sie mit der rechten Maustaste auf die Datei Plugin1.cs, und benennen Sie sie in MatchPlugin.cs um.

  12. Wählen Sie Ja aus, um Ihr Dialogfeld umzubenennen.

  13. Klicken Sie mit der rechten Maustaste auf das Projekt „CustomAPILab“, und wählen Sie NuGet-Pakete auswählen aus.

  14. Suchen Sie nach System.Text.RegularExpressions, und wählen Sie Installieren aus.

    Screenshot der Installation des NuGet-Pakets.

  15. Öffnen Sie die Datei MatchPlugin.cs.

  16. Fügen Sie die folgende Aussage hinzu.

    using System.Text.RegularExpressions;

  17. 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"];

  18. Fügen Sie die folgende Zeile hinzu, um den Ablaufverfolgungsdienst zu erhalten.

    ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));

  19. Fügen Sie die folgende Zeile hinzu, um den Eingabewert in die Überwachung zu schreiben.

    tracingService.Trace("Provided input: " + input);

  20. Um die Regex.Match-Methode aufzurufen, fügen Sie anschließend die folgende Zeile hinzu.

    var result = Regex.Match(input, pattern);

  21. Schreiben Sie das Ergebnis zur Überwachung auf.

    tracingService.Trace("Matching result: " + result.Success);

  22. Ergänzen Sie abschließend die nachstehende Zeile, um den Ausgabeparameter „Übereinstimmend“ festzulegen.

    context.OutputParameters["Matched"] = result.Success;

  23. Die Execute-Methode sollte nun so aussehen.

    Screenshot der Execute-Methode des Plug-Ins.

  24. Wählen Sie Erstellen > Lösung erstellen aus.

  25. Das Projekt sollte erfolgreich erstellt werden.

Aufgabe 2: Benutzerdefiniertes API-Plug-In registrieren

  1. Öffnen Sie die Eingabeaufforderung, und führen Sie folgenden Befehl aus, um das Plug-in Registration Tool zu starten.

    pac tool prt

  2. Wählen Sie + Neue Verbindung erstellen aus.

  3. Wählen Sie Office 365 aus, geben Sie Ihre Anmeldeinformationen ein, und wählen Sie dann Anmelden aus.

  4. Wählen Sie die richtige Umgebung aus.

  5. Wählen Sie Registrieren | Neue Assembly registrieren aus.

    Screenshot mit Klick auf „Neue Assembly registrieren“

  6. Wählen Sie „...“ aus, und navigieren Sie dann zum Ordner CustomAPILab\bin\Debug\net462.

  7. Wählen Sie CustomAPILab.dll aus.

  8. Wählen Sie OK aus.

    Screenshot des Dialogfelds „Neue Assembly registrieren“ mit ausgewähltem Plug-In.

  9. Wählen Sie Ausgewählte Plug-Ins registrieren aus.

  10. 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

  1. Navigieren Sie zum Power Apps Maker Portal, und überprüfen Sie, ob Sie sich in der richtigen Umgebung befinden.

  2. Wählen Sie links in der Navigation Lösungen aus.

  3. Wählen Sie + Neue Lösung aus.

  4. Geben Sie im Feld „Anzeigename“ den Text Custom API Lab ein.

  5. Klicken Sie in der Dropdownliste „Herausgeber“ auf CDS Default Publisher.

  6. Wählen Sie Erstellen aus. Es wird eine benutzerdefinierte Lösung mit unseren Komponenten erstellt.

  7. Wählen Sie + Neu | Sonstige | Andere | Benutzerdefinierte API aus.

  8. Geben Sie die folgenden Informationen ein:

    • Eindeutiger Name: contoso_match

    • Name: Übereinstimmen

    • Anzeigename: Übereinstimmen

    • Beschreibung: Mit einer Zeichenfolge übereinstimmen

    • Bindungsart: Global

  9. Klicken Sie unter „Plug-In-Typ“ auf das Suchsymbol, und suchen Sie das Plug-In.

    Screenshot mit dem benutzerdefinierten API-Dialogfeld mit ausgefüllten Feldern

  10. Klicken Sie auf Speichern und schließen.

  11. Klicken Sie auf Fertig.

  12. Wählen Sie +Neu | Sonstige | Andere | Benutzerdefinierter API-Anforderungsparameter aus.

  13. Bei einer benutzerdefinierten API klicken Sie auf das Suchsymbol und wählen Sie Übereinstimmen (Ihre benutzerdefinierte API) aus.

  14. Geben Sie zur Vereinfachung als eindeutigen Namen, Namen, Anzeigenamen und Beschreibung StringIn ein.

  15. Wählen Sie als Typ Zeichenfolge aus.

  16. Klicken Sie auf Speichern und schließen.

  17. Wählen Sie Fertig aus.

  18. Wiederholen Sie die Schritte 13 bis 17, und fügen Sie einen weiteren benutzerdefinierten API-Anforderungsparameter mit dem Namen Muster hinzu.

  19. Wählen Sie Neu | Weitere | Andere | Benutzerdefinierte API-Antworteigenschaft.

  20. Bei einer benutzerdefinierten API klicken Sie auf das Suchsymbol und wählen Sie Übereinstimmen (Ihre benutzerdefinierte API) aus.

  21. Geben Sie zur Vereinfachung als Eindeutigen Namen, Namen, „Anzeigenamen“ und Beschreibung Übereinstimmend ein.

  22. Wählen Sie als Typ die Angabe Boolesch aus.

  23. Klicken Sie auf Speichern und schließen.

  24. Die Liste mit den Lösungskomponenten sollte so aussehen.

    Screenshot mit den Lösungskomponenten nach Erstellung aller APIs, Anforderungs- und Antwortparameter

Aufgabe 4: Benutzerdefinierte API von Power Automate verwenden

  1. Wählen Sie in der Lösung + Neu | Automatisierung | Cloud-Flow | Sofort aus.

    Screenshot mit der Schaltfläche zum Erstellen eines sofortigen Cloud-Flows

  2. Geben Sie Zeichenfolgen-Übereinstimmung für den Flownamen ein, und wählen Sie dann den Trigger Einen Flow manuell auslösen und Erstellen aus.

  3. Wählen Sie die Schaltfläche + Neuer Schritt aus.

  4. Suchen Sie nach Leistung, und wählen Sie Eine ungebundene Aktion ausführen aus.

    Screenshot mit Auswahl der Aktion „Eine ungebundene Aktion ausführen“

  5. Suchen und wählen Sie in der Liste mit den Aktionsnamen den Eintrag contoso_match aus.

  6. Geben Sie unter StringIn eine gültige E-Mail-Adresse ein.

  7. 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}$

  8. Der Flow sollte so aussehen.

    Screenshot mit Flow und Trigger sowie dem Schritt zur Ausführung einer ungebundenen Aktion

  9. Wählen Sie Speichern aus.

  10. Klicken Sie nach dem Speichern auf Testen.

  11. Wählen Sie die Option Manuell und dann Testen aus.

  12. Wählen Sie Flow ausführen aus.

  13. Klicken Sie auf Fertig.

  14. Klicken Sie Zur Erweiterung und Anzeige der Ergebnisse nach Abschluss des Flows auf Eine ungebundene Aktion ausführen.

    Screenshot mit den Ergebnissen der Flowausführung

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.