Übung – Einen Flow erstellen, der SQL verwendet

Abgeschlossen

In dieser Lerneinheit wird veranschaulicht, wie Sie einen Flow erstellen, der eine Quelle auf neue oder geänderte Elemente überwacht und diese Änderungen dann an ein Ziel kopiert. Ein Flow dieser Art ist nützlich, wenn Ihre Benutzer Daten an einem Ort eingeben, aber Ihr Team diese Daten an einem anderen Ort oder in einem anderen Format benötigen.

In dieser Lerneinheit kopieren Sie Daten aus einer Liste in Microsoft Listen (die Quelle) in eine Microsoft Azure SQL-Datenbank Tabelle (das Ziel).

Denken Sie daran, dass Sie Daten über mehr als 275 Dienste kopieren können, die Power Automate unterstützt.

Wichtig

Änderungen, die Sie am Ziel vornehmen, können nicht in die Quelle kopiert werden, da die bidirektionale Synchronisierung nicht unterstützt wird. Wenn Sie versuchen, die bidirektionale Synchronisierung einzurichten, erstellen Sie eine Endlosschleife, bei der die Änderungen ununterbrochen zwischen Quelle und Ziel übermittelt werden.

Voraussetzungen

  • Zugriff auf eine Datenquelle und ein Ziel. Diese Lerneinheit umfasst die Schritte zum Erstellen der Quelle und des Ziels nicht.

  • Zugriff auf Power Automate

  • Grundlegende Kenntnisse über die Speicherung Ihrer Daten.

  • Kenntnisse zu den Grundlagen der Erstellung von Flows. In dieser Lerneinheit wird davon ausgegangen, dass Sie bereits wissen, wie diese Aktionen durchgeführt werden.

Tipp

Die Spaltennamen in der Quelle und dem Ziel müssen nicht übereinstimmen (es sei denn der Datentyp der Spalte ist Auswahl), allerdings müssen Sie für alle erforderlichen Spalten Daten angeben, wenn Sie ein Element einfügen oder aktualisieren. Power Automate identifiziert die erforderlichen Felder für Sie.

Schnellübersicht über die Schritte

Wenn Sie sich mit Power Automate gut auskennen, führen Sie diese schnellen Schritte aus, um Daten von einer Datenquelle in eine andere zu kopieren.

  1. Identifizieren Sie die zu überwachende Quelle und das Ziel, in das Sie geänderte Daten kopieren. Stellen Sie sicher, dass Sie über Zugriff auf die Quelle und das Ziel verfügen.

  2. Identifizieren Sie mindestens eine Spalte, die Elemente sowohl in der Quelle als auch im Ziel eindeutig identifiziert. Im folgenden Beispiel wird die Spalte Titel verwendet, Sie können jedoch eine beliebige andere Spalte verwenden.

  3. Richten Sie einen Trigger ein, der die Quelle auf Änderungen überwacht.

  4. Durchsuchen Sie das Ziel, um herauszufinden, ob das geänderte Element vorhanden ist.

  5. Verwenden Sie eine Bedingung wie diese:

    • Neues oder geändertes Element erstellen, wenn es im Ziel nicht vorhanden ist.

    • Neues oder geändertes Element aktualisieren, wenn es im Ziel vorhanden ist.

  6. Lösen Sie Ihren Flow aus, und überprüfen Sie, ob die neuen oder geänderten Elemente aus der Quelle in das Ziel kopiert werden.

Hinweis

Wenn Sie zuvor noch keine Verbindung zu SharePoint oder einer SQL-Datenbank erstellt haben, folgen Sie den Anweisungen, wenn Sie zur Anmeldung aufgefordert werden.

Im Folgenden werden die Schritte zum Erstellen des Flows ausführlich beschrieben.

Die Quelle auf Änderungen überwachen

Erstens hilft uns Copilot beim Aufbau der Struktur des Flows.

  1. Starten Sie Power Automate, und melden Sie sich mit Ihrem Organisationskonto an.

  2. Geben Sie in der Mitte der Homepage Folgendes ein: Wenn ein Element in SharePoint erstellt oder geändert wird, fügen Sie eine SQL-Aktion zum Abrufen von Zeilen hinzu. Fügen Sie eine Bedingung hinzu, und aktualisieren Sie das Element in SQL, wenn das Element vorhanden ist. Andernfalls erstellen Sie ein neues Element in SQL. Klicken Sie dann auf Generieren.

    Screenshot der Power Automate-Homepage und Eingabe der Beschreibung für Copilot

  3. Copilot ist bestrebt, einen Flow mit Aktionen basierend auf der Beschreibung aufzubauen und bietet die Möglichkeit, die generierten Aktionen zu überprüfen. In diesem Beispiel sehen Sie Folgendes:

    1. Das Beschreibungsfeld, in das wir unsere Eingabeaufforderung eingegeben haben. Hier können Sie die Aktionen im Flow weiter verfeinern.

    2. Copilot hat einen Trigger Wenn ein Element erstellt oder geändert wird (SharePoint) hinzugefügt.

    3. Copilot hat der Bedingung eine (SQL)-Aktion Zeilen abrufen, eine Bedingung, eine (SQL)-Aktion Zeile aktualisieren in der Verzweigung True und eine (SQL)-Aktion Zeile einfügen in der Verzweigung False hinzugefügt.

    4. Klicken Sie auf die Schaltfläche Weiter, um zum Flow-Designer zu wechseln.

    Screenshot der Überprüfung des generierten Automatisierungs-Copilot

  4. Klicken Sie auf Weiter, um weitere Aktionen zu konfigurieren, wenn Sie mit dem Flow zufrieden sind.

  5. Wenn Sie zuvor keine Verbindung zur SQL-Datenbank oder SharePoint erstellt haben, werden Sie von Copilot angewiesen, eine Verbindung zu erstellen. Andernfalls wird neben jeder Verbindung ein grünes Häkchen angezeigt.

    Screenshot des Copilot, der verbundene Services für diesen Flow anzeigt

  6. Nachdem die Verbindungen eingerichtet wurden, wählen Sie Flow erstellen aus.

  7. Wählen Sie den Trigger Wenn eine Datei erstellt oder geändert wird aus, um auf der linken Seite den Bereich mit den Aktionseigenschaften zu öffnen.

    Screenshot des Triggers und seiner Parameter

  8. Geben Sie die Website-Adresse ein, und wählen Sie dann den Namen der Liste in Microsoft Listen aus, die Ihr Flow auf neue oder aktualisierte Elemente überwacht.

    Screenshot von: Wenn ein Element erstellt oder geändert wird, wobei die Site-Adresse auf eine SharePoint-Teamadresse und der Listenname auf „Customers List“ gesetzt ist

Das Ziel nach einem vorhandenen Element durchsuchen

Als Nächstes konfigurieren wir die (SQL)-Aktion Zeilen abrufen, um zu prüfen, ob ein Element bereits in der SQL-Datenbank vorhanden ist.

  1. Wählen Sie die Aktion Zeilen abrufen aus, um den Aktionseigenschaftenbereich auf der linken Seite zu öffnen.

  2. Geben Sie den Servernamen, Datenbanknamen und Tabellennamen für die SQL-Tabelle an, die Sie überwachen wollen.

    Screenshot der Einrichtung des Server‑, Datenbank‑ und Tabellennamens für die SQL-Aktion „Zeilen abrufen“

  3. Wählen Sie Erweiterte Parameter und dann Abfrage filtern aus.

    Screenshot der Einrichtung des erweiterten Filterabfrageparameters für die SQL-Aktion „Zeilen abrufen“

  4. Geben Sie im Feld Abfrage filternCustomerID eq ein. Wählen Sie dann das Token CustomerID aus der Liste der dynamischen Inhalte aus.

    Screenshot der Einrichtung des erweiterten Filterabfrageparameters für die SQL-Kunden-ID

    Hinweis

    In diesem Schritt wird davon ausgegangen, dass die Microsoft-Liste und die SQL-Tabelle in der Spalte CustomerID übereinstimmen.

Überprüfen, ob ein neues Element erstellt oder ein vorhandenes Element aktualisiert werden soll

Als Nächstes konfigurieren wir die Bedingung, um zu überprüfen, ob ein Element vorhanden ist. Wenn das Element vorhanden ist, aktualisieren Sie es. Erstellen Sie andernfalls eine neue Zeile.

  1. Wählen Sie die Bedingung aus, um den Aktionseigenschaftenbereich auf der linken Seite zu öffnen. Wählen Sie Ausdruck einfügen aus.

    Screenshot der Schaltfläche „Ausdruck eingeben“

  2. Suchen Sie nach length, und wählen Sie dann die Option length(collection) aus.

    Screenshot der Bedingung mit dynamischem Inhalt auf der Registerkarte „Ausdruck“ mit hervorgehobener length(collection)

  3. Klicken Sie auf die Registerkarte Dynamischer Inhalt, ohne den geöffneten Ausdrücke-Bereich zu verlassen.

  4. Wählen Sie unter der Kategorie Zeilen abrufen (V2)body/value und dann Hinzufügen aus.

    Screenshot der Bedingung mit hervorgehobenem Wert SQL Zeilen abrufen

    Tipp

    Stellen Sie sicher, dass Sie Wert aus der Kategorie Zeilen abrufen ausgewählt haben. Wählen Sie Wert nicht in der Kategorie Wenn ein Element erstellt oder geändert wird aus.

  5. Wählen Sie im mittleren Feld Ist gleich aus.

  6. Geben Sie im rechten Feld 1 (eins) ein.

    Die Karte Bedingung sollte nun wie auf dem folgenden Bild aussehen.

    Screenshot der Bedingung mit „length ist gleich 0“ hervorgehoben

    Tipp

    Durch Hinzufügen der Funktion length() kann der Flow die Liste value überprüfen. Length gibt die Anzahl der Elemente in der Liste zurück. Wenn die Werteliste ein Element umfasst, wissen wir, dass das Element in SQL vorhanden ist und aktualisiert werden muss.

Wenn Ihr Flow Elemente aus dem Ziel abruft, hat dies zwei mögliche Ergebnisse zufolge.

Ergebnis Nächster Schritt
Das Element ist vorhanden. Aktualisieren Sie das Element.
Das Element ist nicht vorhanden. Erstellen Sie ein neues Element.

Das Element im Ziel erstellen

Die Bedingung überprüft, ob das Microsoft-Listenelement im SQL-Ziel vorhanden ist. Wir müssen Power Automate jedoch mitteilen, was zu tun ist, sobald die Bedingung überprüft wurde. Wenn das Microsoft-Listenelement in SQL nicht vorhanden ist, erstellen Sie eine neue Zeile. Aktualisieren Sie andernfalls ein vorhandenes Element.

  1. Wählen Sie die (SQL)-Aktion Zeile einfügen auf der Seite Falsch der Bedingung aus, um den Bereich mit den Aktionseigenschaften links zu öffnen.

  2. Geben Sie Servername, Datenbankname und Tabellennamen für die Tabelle an, in die das neue Element eingefügt werden soll (wie die Informationen, die Sie oben eingegeben haben).

    Screenshot der Auswahl der SQL-Aktion „Zeile einfügen“ und der entsprechenden Eigenschaften

    Hinweis

    Die Karte Zeile einfügen wird aufgeklappt, und alle Felder in der Tabelle werden angezeigt. Felder, die mit einem Sternchen (*) markiert sind, sind erforderlich und müssen ausgefüllt werden, damit die Zeile gültig ist.

  3. Wählen Sie jedes Feld aus, das Sie ausfüllen möchten, und geben Sie die Daten ein.

    Sie können die Daten manuell eingeben, mindestens ein Token im Bereich für dynamische Inhalte auswählen oder eine beliebige Kombination von Text und Token in die Felder eingeben.

Hinweis

Auf den Karten Zeile einfügen und Zeile aktualisieren werden die Namen der Spalten in der SQL-Datenbank-Tabelle angezeigt, die im Flow verwendet wird. Daher können sich die in den Bildern dieses Verfahrens gezeigten Karten von den Karten unterscheiden, die Ihnen angezeigt werden.

Das Element im Ziel aktualisieren

Wir konfigurieren dann als Nächstes die Aktion zum Aktualisieren des SQL-Elements.

  1. Wählen Sie die (SQL)-Aktion Zeile aktualisieren auf der Seite True der Bedingung aus, um den Bereich mit den Aktionseigenschaften links zu öffnen.

    Screenshot der Auswahl der Aktion „Zeile aktualisieren“ und der Einrichtung der Eigenschaften

  2. Richten Sie Servername, Datenbankname und Tabellenname ein.

  3. Für das Feld Zeilen-ID müssen wir den Primärschlüssel aus der SQL-Datenbank abrufen. In diesem Beispiel ist es das Feld CustomerID aus der Ausgabe der (SQL)-Aktion Zeilen abrufen.

    In der Regel verwenden wir eine Aktion Zeilen abrufen und möchten dann in nachfolgenden Aktionen auf die Eigenschaften der Ausgabe zugreifen, Power Automate erstellt automatisch eine For Each-Schleife, um jedes Element in der Liste zu verarbeiten. In diesem speziellen Fall wissen wir jedoch, dass Power Automate immer einen Datensatz zurückgibt, wenn eine CustomerID gefunden wird, da CustomerID der Primärschlüssel in unserer SQL-Tabelle ist. Das bedeutet, dass wir mit dem folgenden Ausdruck auf die CustomerID-Eigenschaft des ersten Elements aus der Liste zugreifen können:

    outputs('Get_Rows')?['body/value'][0]?['customerid']

  4. Klicken Sie auf das Parameter Zeilen-ID, und geben Sie dann / ein, und wählen Sie „Ausdruck einfügen“ aus. Platzieren Sie den Code über der Ausdrucksformelleiste.

  5. Klicken Sie auf die Option Erweiterte Parameter, und wählen Sie aus, welche Felder Sie aktualisieren möchten.

  6. Speichern Sie Ihren Flow, und testen Sie ihn!

    Screenshot der Anzeige eines Aktualisierungselements in SQL

Wenn sich nun ein Element in Ihrer Liste (der Quelle) ändert, wird Ihr Flow ausgelöst. Der Flow fügt entweder ein neues Element in SQL-Datenbank (das Ziel) ein oder aktualisiert ein vorhandenes.

Hinweis

Ihr Flow wird nicht ausgelöst, wenn ein Element aus der Quelle gelöscht wird. Wenn dieses Szenario für Sie relevant ist, können Sie eine weitere Spalte hinzufügen, die angibt, ob ein Element nicht mehr benötigt wird.