Freigeben über


Herstellen einer Verbindung mit Microsoft Dataverse aus Workflows in Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch + Standard)

Wichtig

Am 30. August 2022 wurden die Connectorvorgänge für Common Data Service 2.0, auch bekannt als Microsoft Dataverse (Legacy), zum aktuellen Microsoft Dataverse-Connector migriert. Legacyvorgänge tragen die Bezeichnung „Legacy“, während aktuelle Vorgänge die Bezeichnung „Preview“ (Vorschau) tragen. Sie können den aktuellen Dataverse-Connector in allen vorhandenen oder neuen Logik-App-Workflows verwenden. Zur Gewährleistung der Abwärtskompatibilität funktionieren vorhandene Workflows weiterhin mit dem Dataverse-Legacy-Connector. Überprüfen Sie diese Workflows jedoch, und aktualisieren Sie sie umgehend.

Seit Oktober 2023 ist die Legacyversion für neue Workflows nicht mehr verfügbar. Vorhandene Workflows funktionieren weiterhin, aber Sie müssen die aktuellen Dataverse-Connectorvorgänge für neue Workflows verwenden. Es wird eine Zeitachse für das Herunterfahren der älteren Aktionen und Trigger angekündigt. Weitere Informationen finden Sie unter Microsoft Dataverse (Legacy)-Connector für Azure Logic Apps wird eingestellt und durch einen anderen Connector ersetzt.

Um automatisierte Workflows zu erstellen und auszuführen, die Zeilen in Ihrer Microsoft Dataverse-Datenbankerstellen und verwalten, können Sie Azure Logic Apps und den Microsoft Dataverse-Connector verwenden. Diese Workflows können Zeilen erstellen und aktualisieren sowie andere Vorgänge ausführen. Sie können auch Informationen aus Ihrer Dataverse-Datenbank abrufen und die Ausgabe für andere Aktionen zur Verwendung in Ihrer Logik-App bereitstellen. Wenn beispielsweise eine Zeile in der Dataverse-Datenbank hinzugefügt, aktualisiert oder gelöscht wird, können Sie mithilfe des Outlook-Connectors von Office 365 eine E-Mail senden.

In diesem Leitfaden wird gezeigt, wie Sie einen Workflow erstellen, der eine Aufgabenzeile erstellt, wenn eine neue Leadzeile erstellt wird.

Referenz zu Konnektoren

Technische Informationen, die auf der Swagger-Beschreibung des Connectors basieren (z. B. Vorgänge, Grenzwerte und andere Details), finden Sie auf der Referenzseite des verwalteten Connectors.

Voraussetzungen

Hinzufügen eines Dataverse-Triggers

Wenn Sie einen Trigger oder eine Aktion hinzufügen, der/die eine Verbindung mit einem Dienst oder System herstellt, und Sie keine bestehende oder aktive Verbindung haben, werden Sie von Azure Logic Apps aufgefordert, die Verbindungsinformationen anzugeben, die je nach Verbindungstyp variieren, z. B.:

  • Ihre Kontoanmeldeinformationen.
  • Ein für die Verbindung zu verwendender Name.
  • Der Name des Servers oder des Systems
  • Der zu verwendende Authentifizierungstyp
  • Eine Verbindungszeichenfolge.

In diesem Beispiel wird der Dataverse-Trigger verwendet, der Ihren Workflow startet, wenn eine Zeile hinzugefügt, aktualisiert oder gelöscht wird.

Hinweis

Der Dataverse-Connector verfügt über vorgangsspezifische Parameter sowie datenbankspezifische Parameter. Wenn Sie beispielsweise eine Tabelle auswählen, variieren die für diese Tabelle verfügbaren Parameter und unterscheiden sich von denen anderer Tabellen.

  1. Öffnen Sie im Azure-Portal Ihre Standard-Logik-App und einen leeren Workflow im Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um den Microsoft Dataverse-Trigger namens Wenn eine Zeile hinzugefügt, geändert oder gelöscht wird hinzuzufügen.

  3. Wenn Sie dazu aufgefordert werden, melden Sie sich bei Ihrer Dataverse-Umgebung oder Datenbank an.

  4. Geben Sie im Triggerinformationsfeld die erforderlichen Werte an.

    Informationen zum Beispieltrigger finden Sie unter Wenn eine Zeile hinzugefügt, geändert oder gelöscht wird.

    Screenshot shows Standard workflow designer and example trigger.

  5. Wenn Sie fertig sind, speichern Sie Ihren Logik-App-Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

  6. Fügen Sie nun mindestens eine Aktion für Ihren Workflow hinzu, die ausgeführt werden soll, wenn der Trigger ausgelöst wird. Sie können beispielsweise eine Dataverse-Aktion oder eine Aktion hinzufügen, die E-Mails auf Grundlage der Ausgaben des Triggers sendet.

Hinzufügen einer Dataverse-Aktion

Wenn Sie einen Trigger oder eine Aktion hinzufügen, der/die eine Verbindung mit einem Dienst oder System herstellt, und Sie keine bestehende oder aktive Verbindung haben, werden Sie von Azure Logic Apps aufgefordert, die Verbindungsinformationen anzugeben, die je nach Verbindungstyp variieren, z. B.:

  • Ihre Kontoanmeldeinformationen.
  • Ein für die Verbindung zu verwendender Name.
  • Der Name des Servers oder des Systems
  • Der zu verwendende Authentifizierungstyp
  • Eine Verbindungszeichenfolge.

In diesem Beispiel wird die Dataverse-Aktion verwendet, die Ihrer Datenbank eine neue Zeile hinzufügt.

Hinweis

Der Dataverse-Connector verfügt über vorgangsspezifische Parameter sowie datenbankspezifische Parameter. Wenn Sie beispielsweise eine Tabelle auswählen, variieren die für diese Tabelle verfügbaren Parameter und unterscheiden sich von denen anderer Tabellen.

  1. Öffnen Sie im Azure-Portal Ihre Standard-Logik-App und deren Workflow im Workflow-Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um die Microsoft Dataverse-Aktion mit dem Namen Hinzufügen einer neuen Zeile hinzuzufügen.

  3. Wenn Sie dazu aufgefordert werden, melden Sie sich bei Ihrer Dataverse-Umgebung oder Datenbank an.

  4. Geben Sie im Aktionsinformationsfeld die erforderlichen Werte an.

    Eine Beispielaktion finden Sie unter Hinzufügen einer neuen Zeile.

    Screenshot shows Standard workflow designer and example action.

  5. Wenn Sie fertig sind, speichern Sie Ihren Logik-App-Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

  6. Fahren Sie mit dem Hinzufügen weiterer Aktionen fort, wenn Sie möchten.

Testen Ihres Workflows

Führen Sie die folgenden Schritte aus, um den Workflow zu testen und auszulösen:

  1. Wählen Sie im Menü „Workflow“ die Option Übersicht aus.

  2. Wählen Sie auf der Symbolleiste Übersicht die Option Ausführen>Ausführen aus.

  3. Reproduzieren Sie die Bedingungen, die der Trigger erfordert, damit Ihr Workflow ausgeführt werden kann.

Zurückgeben von Zeilen auf Grundlage eines Filters

Für Aktionen, die Zeilen zurückgeben, z. B. die Aktion Zeilen auflisten, können Sie eine ODATA-Abfrage verwenden, die Zeilen auf Grundlage des angegebenen Filters zurückgibt. Sie können beispielsweise die Aktion so einrichten, dass sie nur Zeilen für aktive Konten zurückzugeben. Weitere Informationen zur Beispielaktion finden Sie unter Zeilen auflisten.

  1. Öffnen Sie im Designer in der Aktion die Liste Erweiterten Parameter hinzufügen und wählen Sie die Eigenschaft Zeilen filtern aus.

    Screenshot shows Standard workflow and property named Filter rows.

  2. Geben Sie in der Eigenschaft Zeilen filtern, die jetzt in der Aktion angezeigt wird, einen ODATA-Abfrageausdruck ein, z. B.:

    statuscode eq 1

    Screenshot shows Standard workflow and property named Filter rows with ODATA query.

Weitere Informationen zu $filter-Systemabfrageoptionen finden Sie unter Abfragen von Daten mithilfe der Web-API – Filterergebnisse.

Zurückgeben von Zeilen auf Grundlage einer Sortierreihenfolge

Für Aktionen, die Zeilen zurückgeben, z. B. die Aktion Zeilen auflisten, können Sie eine ODATA-Abfrage verwenden, die Zeilen in einer bestimmten Reihenfolge zurückgibt, die basierend auf den von der Aktion zurückgegebenen Zeilen unterschiedlich ist. Sie können beispielsweise die Aktion so einrichten, dass Zeilen nach Kontonamen sortiert zurückgegeben werden. Weitere Informationen zur Beispielaktion finden Sie unter Zeilen auflisten.

  1. Öffnen Sie im Designer in der Aktion die Liste Erweiterten Parameter hinzufügen und wählen Sie die Eigenschaft Sortieren nach aus.

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property.

  2. Geben Sie in der nun in der Aktion angezeigten Eigenschaft Sortieren nach den Spaltennamen ein, der zum Sortieren verwendet werden soll, z. B. Name:

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property with column name.

Weitere Informationen zu $orderby-Systemabfrageoptionen finden Sie unter Abfragen von Daten mithilfe der Web-API – Sortieren nach.

Felddatentypen

In einem Trigger oder einer Aktion muss der Datentyp eines Feldwerts dem erforderlichen Datentyp des Felds entsprechen. Diese Anforderung gilt sowohl, wenn Sie den Wert manuell eingeben, als auch, wenn Sie den Wert aus der dynamischen Inhaltsliste auswählen.

Hinweis

Der Dataverse-Connector verfügt über vorgangsspezifische Parameter sowie datenbankspezifische Parameter. Wenn Sie beispielsweise eine Tabelle auswählen, variieren die für diese Tabelle verfügbaren Parameter und unterscheiden sich von denen anderer Tabellen.

Nehmen wir beispielsweise an, Sie verfügen über eine Tabelle namens Tasks (Aufgaben). Diese Tabelle enthält Felder, die nur für diese Tabelle gelten, während andere Tabellen eigene Felder besitzen. Für die Beispieltabelle Tasks beschreibt die folgende Tabelle einige Beispielfeldtypen und die Datentypen, die diese Felder für ihre Werte erfordern.

Feld Datentyp Beschreibung
Textfeld Einzelne Textzeile Erfordert entweder eine einzelne Textzeile oder dynamischen Inhalt, der den Textdatentyp aufweist, z. B. die folgenden Eigenschaften:

- Beschreibung
- Kategorie
Ganzzahliges Feld Ganze Zahl Erfordert entweder einen Integerwert oder dynamischen Inhalt, der den Integerdatentyp aufweist, z. B. die folgenden Eigenschaften:

- Percent Complete (Prozent abgeschlossen)
- Dauer
Datum (Feld) Datum und Uhrzeit Erfordert entweder ein Datum im Format MM/TT/JJJ oder dynamischen Inhalt, der den Datumsdatentyp aufweist, z. B. die folgenden Eigenschaften:

- Erstellungszeitpunkt
- Startdatum
- Actual Start (Tatsächlicher Start)
- Actual End (Tatsächliches Ende)
- Fälligkeitsdatum
Feld, das auf eine andere Entitätszeile verweist. Primary key (Primärschlüssel) Erfordert sowohl eine Zeilen-ID, z. B. eine GUID, als auch einen Nachschlagetyp. Dies bedeutet, dass Werte aus der Liste dynamischer Inhalte nicht funktionieren, z. B. die folgenden Eigenschaften:

- Owner (Besitzer): Muss eine gültige Benutzer-ID oder eine Zeilen-ID sein.
- Owner Type (Besitzertyp): Muss ein Nachschlagetyp sein, z. B. systemusers oder teams.

- Regarding (Bezüglich): Muss eine gültige Zeilen-ID sein, beispielsweise eine Konto- oder Kontaktzeilen-ID sein.
- Regarding Type (Typ für „Bezüglich“): Muss ein Nachschlagetyp sein, z. B. accounts oder contacts.

- Customer (Kunde): Muss eine gültige Zeilen-ID sein, beispielsweise eine Konto- oder Kontaktzeilen-ID sein.
- Customer Type (Kundentyp): Muss ein Nachschlagetyp sein, z. B. accounts oder contacts.

Angenommen, Sie verwenden für die Beispieltabelle Tasks die Aktion Neue Zeile hinzufügen, um eine neue Zeile zu erstellen, die anderen Entitätszeilen zugeordnet ist, insbesondere einer Benutzerzeile und einer Kontozeile. In dieser Aktion müssen Sie also die IDs und Nachschlagetypen für diese Entitätszeilen angeben, indem sie Werte verwendet, die den erwarteten Datentypen für die relevanten Eigenschaften entsprechen.

  • Basierend auf der Eigenschaft Owner (Besitzer), die eine Benutzer-ID angibt, und der Eigenschaft Owner Type (Besitzertyp), die den systemusers-Nachschlagetyp angibt, ordnet die Aktion die neue Zeile einem bestimmten Benutzer zu.

  • Basierend auf der Eigenschaft Regarding (Bezüglich), die eine Zeilen-ID angibt, und der Eigenschaft Regarding Type (Typ für „Bezüglich“), die den accounts-Nachschlagetyp angibt, ordnet die Aktion die neue Zeile einem bestimmten Konto zu.

Problembehandlung

Aufrufe aus mehreren Umgebungen

Der Dataverse-Connector speichert Informationen zu den Logik-App-Workflows, die Benachrichtigungen über Datenbankentitätsänderungen abrufen und erfordern, indem die callbackregistrations-Entität in Ihrer Dataverse-Datenbank verwendet wird. Wenn Sie eine Dataverse-Organisation kopieren, werden auch alle Webhooks kopiert. Wenn Sie Ihre Organisation kopieren, bevor Sie Workflows deaktivieren, die Ihrer Organisation zugeordnet sind, verweisen alle kopierten Webhooks ebenfalls auf dieselben Logik-App-Workflows, die dann Benachrichtigungen von mehreren Organisationen erhalten.

Um unerwünschte Benachrichtigungen zu beenden, löschen Sie die callbackregistrations-Entität aus der Organisation, die diese Benachrichtigungen sendet. Befolgen Sie dazu die folgenden Schritte:

  1. Ermitteln Sie die Dataverse-Organisation, von der Sie Benachrichtigungen entfernen möchten, und melden Sie sich bei dieser an.

  2. Suchen Sie im Chrome-Browser nach der Rückrufregistrierung, die Sie löschen möchten.

    1. Überprüfen Sie die generische Liste für alle Rückrufregistrierungen unter folgendem OData-URI, damit Sie die Daten in der callbackregistrations-Entität anzeigen können:

      https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations:

      Hinweis

      Wenn keine Werte zurückgegeben werden, verfügen Sie möglicherweise nicht über die Berechtigungen zum Anzeigen dieses Entitätstyps, oder Sie sind eventuell nicht bei der richtigen Organisation angemeldet.

    2. Filtern Sie nach dem logischen Namen der auslösenden Entität (entityname) und dem Benachrichtigungsereignis, das Ihrem Logik-App-Workflow entspricht (Nachricht). Jeder Ereignistyp ist dem Nachrichteninteger wie folgt zugeordnet:

      Ereignistyp Nachrichteninteger
      Erstellen 1
      Löschen 2
      Update 3
      CreateOrUpdate 4
      CreateOrDelete 5
      UpdateOrDelete 6
      CreateOrUpdateOrDelete 7

      Das folgende Beispiel zeigt, wie Sie nach Create-Benachrichtigungen für eine Entität mit dem Namen nov_validation filtern können, indem Sie den folgenden OData-URI einer Beispielorganisation verwenden:

      https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1

      Screenshot shows browser window and OData URI in address bar.

      Hinweis

      Wenn für dieselbe Entität oder dasselbe Ereignis mehrere Trigger vorhanden sind, können Sie die Liste filtern, indem Sie zusätzliche Filter wie die Attribute createdon und _owninguser_value verwenden. Der Benutzername des Besitzers wird unter /api/data/v9.0/systemusers({id}) angezeigt.

    3. Nachdem Sie die ID der zu löschenden Rückrufregistrierung gefunden haben, führen Sie die folgenden Schritte aus:

      1. Öffnen Sie in Ihrem Chrome-Browser die Chrome-Entwicklertools (Tastatur: F12).

      2. Wählen Sie im Fenster oben die Registerkarte Konsole aus.

      3. Geben Sie in der Eingabeaufforderung den folgenden Befehl ein. Dieser sendet eine Anforderung zum Löschen der angegebenen Rückrufregistrierung:

        fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})

        Wichtig

        Stellen Sie sicher, dass Sie die Anforderung von einer Nicht-UCI-Seite (Unified Client Interface) ausgeht, z. B. von der OData- oder API-Antwortseite selbst. Andernfalls führt die Logik in der Datei „app.js“ möglicherweise zu einem Konflikt mit diesem Vorgang.

    4. Überprüfen Sie die Liste der Rückrufregistrierungen, um sicherzustellen, dass die Rückrufregistrierung nicht mehr vorhanden ist.

Duplizierte Entität „callbackregistrations“

Unter bestimmten Bedingungen, wie der Instanzneuzuweisung oder dem Anwendungsneustart, startet der Microsoft Dataverse-Trigger in Standardlogik-App-Workflows eine duplizierte callbackregistrations-Entität in Ihrer Dataverse-Datenbank. Wenn Sie einen Standardworkflow bearbeiten, der mit einem Dataverse-Trigger beginnt, überprüfen Sie, ob diese callbackregistrations-Entität dupliziert ist. Wenn das Duplikat vorhanden ist, löschen Sie die duplizierte callbackregistrations-Entität manuell.

Nächste Schritte