Freigeben über


Herstellen einer Verbindung mit Microsoft Dataverse über Workflows in Azure Logic Apps

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

Um Aufgaben zu automatisieren, die mit Ihrer Microsoft Dataverse-Datenbank arbeiten, können Sie den Microsoft Dataverse-Connector mit Workflows in Azure Logic Apps verwenden.

Sie können beispielsweise Workflows erstellen, die Zeilen erstellen, Zeilen aktualisieren und 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 Ihren Workflows verfügbar machen. Wenn beispielsweise eine Zeile in Ihrer Dataverse-Datenbank hinzugefügt, aktualisiert oder gelöscht wird, können Sie eine E-Mail mithilfe des Office 365 Outlook-Connectors senden.

Der Dataverse-Connector wurde zuvor als Common Data Service 2.0-Connector und ursprünglich als Dynamics 365-Connector bezeichnet. Sie können den Dataverse-Connector verwenden, um auf Microsoft Dataverse für Microsoft Dynamics 365 Sales, Microsoft Dynamics 365 Customer Service, Microsoft Dynamics 365 Field Service, Microsoft Dynamics 365 Customer Insights – Journeys und Microsoft Dynamics 365 Project Service Automation zuzugreifen.

In diesem Artikel wird gezeigt, wie Sie ihrem Workflow einen Dataverse-Trigger oder eine Aktion hinzufügen und wie Parameteroptionen funktionieren.

Von Bedeutung

Seit Oktober 2023 müssen neue Workflows die aktuellen Dataverse-Connectorvorgänge verwenden. Legacy-Dataverse-Connectorvorgänge sind nicht mehr für die Verwendung in neuen Workflows verfügbar.

Um die Abwärtskompatibilität zu unterstützen, hatten Legacy-Dataverse-Connectoroperationen ein Jahr ab dem Ankündigungsdatum der Einstellung, um weiterhin in vorhandenen Workflows zu arbeiten. Obwohl kein spezifisches Abschaltdatum festgelegt ist, stellen Sie sicher, dass Sie vorhandene Workflows sofort aktualisieren, damit die aktuellen Konnektor-Betrieb verwendet werden. Weitere Informationen finden Sie unter Microsoft Dataverse(Legacy)-Connector für Azure Logic Apps wird veraltet und durch einen anderen Connector ersetzt.

Connectorreferenz

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

Je nachdem, ob Sie über einen Verbrauchs- oder Standard-Logik-App-Workflow verfügen, führen Sie die entsprechenden Schritte aus:

  1. Öffnen Sie im Azure-Portal Ihre verbrauchsbasierte Logik-App-Ressource.

  2. Wählen Sie auf der Ressourcen-Randleiste unter "Entwicklungstools" den Designer aus, um den Workflow zu öffnen.

  3. Führen Sie im Designer die allgemeinen Schritte aus, um den Microsoft Dataverse-Trigger für Ihr Szenario zu Ihrem Workflow hinzuzufügen .

    In diesem Beispiel wird mit dem Trigger namens Beim Hinzufügen, Ändern oder Löschen einer Zeile fortgefahren.

  4. Melden Sie sich bei Ihrer Dataverse-Umgebung oder -Datenbank an, sobald Sie dazu aufgefordert werden.

  5. Geben Sie im Triggerinformationsfeld die erforderlichen Triggerwerte an.

    Das folgende Beispiel zeigt den Stichprobentrigger:

    Screenshot: Verbrauchsworkflow-Designer und Beispieltrigger.

  6. Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

  7. Fügen Sie nun mindestens eine Aktion für den Workflow hinzu, die der Workflow ausführen soll, wenn der Auslöser ausgelöst wird.

    Sie können z. B. eine Dataverse-Aktion oder eine Aktion hinzufügen, die E-Mails basierend auf den Ausgaben des Triggers sendet.

Hinzufügen einer Dataverse-Aktion

Je nachdem, ob Sie über einen Verbrauchs- oder Standard-Logik-App-Workflow verfügen, führen Sie die entsprechenden Schritte aus:

  1. Öffnen Sie im Azure-Portal Ihre verbrauchsbasierte Logik-App-Ressource.

  2. Wählen Sie auf der Ressourcen-Randleiste unter "Entwicklungstools" den Designer aus, um den Workflow zu öffnen.

  3. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um die Microsoft Dataverse-Aktion für Ihr Szenario zu Ihrem Workflow hinzuzufügen .

    In diesem Beispiel wird die Aktion mit dem Namen "Neue Zeile hinzufügen" fortgesetzt.

  4. Melden Sie sich bei Ihrer Dataverse-Umgebung oder -Datenbank an, sobald Sie dazu aufgefordert werden.

  5. Geben Sie im Infofeld der Aktion die erforderlichen Aktionswerte an.

    Das folgende Beispiel zeigt die Beispielaktion:

    Der Screenshot zeigt den Consumption-Workflow-Designer und eine Beispielaktion.

  6. Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

  7. Fügen Sie bei Bedarf weitere Aktionen hinzu.

Testen Ihres Workflows

Führen Sie zum Ausführen ihres Workflows die folgenden Schritte aus:

  1. Wählen Sie auf der Designersymbolleiste "Ausführen">Ausführen aus.

  2. Reproduzieren Sie die Bedingungen, die der Auslöser erfordert, damit Ihr Workflow ausgeführt werden kann.

Zurückgeben von Zeilen basierend auf einem Filter

Für Aktionen, die Zeilen zurückgeben, z. B. die Aktion " Listenzeilen ", können Sie eine ODATA-Abfrage verwenden, die Zeilen basierend auf dem angegebenen Filter zurückgibt. Beispielsweise können Sie die Aktion so einrichten, dass nur Zeilen für aktive Konten zurückgegeben werden.

  1. Öffnen Sie im Designer in der Aktion die Liste der erweiterten Parameter , und wählen Sie den Parameter " Filterzeilen" aus.

    Screenshot zeigt Workflow und Parameter mit dem Namen Filterzeilen.

  2. Geben Sie im Parameter "Filterzeilen ", der nun in der Aktion angezeigt wird, einen ODATA-Abfrageausdruck ein, z. B.:

    statuscode eq 1

    Screenshot: Standardworkflow und Parameter mit dem Namen Filterzeilen mit ODATA-Abfrage.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Zurückgeben von Zeilen basierend auf einer Sortierreihenfolge

Für Aktionen, die Zeilen zurückgeben, z. B. die Aktion " Listenzeilen ", können Sie eine ODATA-Abfrage verwenden, die Zeilen in einer bestimmten Reihenfolge zurückgibt, die je nach den zeilen variiert, die von der Aktion zurückgegeben werden. Beispielsweise können Sie die Aktion so einrichten, dass die Zeilen nach dem Kontonamen sortiert werden.

  1. Öffnen Sie im Designer in der Aktion die Liste der erweiterten Parameter , und wählen Sie den Parameter "Sortieren nach " aus.

    Screenshot des Workflows, einer Dataverse-Aktion und eines Parameters

  2. Geben Sie im Parameter " Sortieren nach ", der nun in der Aktion angezeigt wird, den Spaltennamen ein, der für die Sortierung verwendet werden soll, z. B. "Name":

    Screenshot des Workflows, einer Dataverse-Aktion und eines Parameters

Weitere Informationen finden Sie in der folgenden Dokumentation:

Felddatentypen

In einem Trigger oder einer Aktion muss der Datentyp eines Feldwerts mit dem erforderlichen Datentyp des Felds übereinstimmen. Diese Anforderung gilt, ob Sie den Wert manuell eingeben oder den Wert aus der dynamischen Inhaltsliste auswählen.

Angenommen, Sie haben eine Tabelle mit dem Namen "Aufgaben". Diese Tabelle enthält Felder, die nur für diese Tabelle gelten, während andere Tabellen über eigene Felder verfügen. Für die Beispieltabelle Aufgaben beschreibt die folgende Tabelle einige Beispielfeldtypen und die Datentypen, die diese Felder für ihre Werte benötigen.

Feld Datentyp Description
Textfeld Einzelne Textzeile Erfordert entweder eine einzelne Textzeile oder dynamischen Inhalt mit dem Datentyp "Text", z. B. diese Eigenschaften:

- Beschreibung
- Kategorie
Integer-Feld Ganze Zahl Erfordert entweder einen ganzzahligen oder dynamischen Inhalt mit dem Datentyp "Ganze Zahl", z. B. die folgenden Eigenschaften:

- Fertigstellungsgrad
- Dauer
Datumsfeld Datum und Uhrzeit Erfordert entweder ein Datum im MM/DD/JJJJ-Format oder dynamischen Inhalt mit dem Datumsdatentyp, z. B. diese Eigenschaften:

- Erstellt am
- Startdatum
- Tatsächlicher Beginn
- Tatsächliches Ende
- Fälligkeitsdatum
Feld, das auf eine andere Entitätszeile verweist Primärschlüssel Erfordert sowohl eine Zeilen-ID, z. B. eine GUID, als auch einen Nachschlagetyp, was bedeutet, dass Werte aus der dynamischen Inhaltsliste nicht funktionieren, z. B. diese Eigenschaften:

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

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

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

Nehmen Wir für die Beispieltabelle "Aufgaben" an, dass Sie die Aktion " Neue Zeile hinzufügen " verwenden, um eine neue Zeile zu erstellen, die anderen Entitätszeilen zugeordnet ist, insbesondere eine Benutzerzeile und eine Kontozeile. In dieser Aktion müssen Sie also die IDs und Nachschlagetypen für diese Entitätszeilen mithilfe von Werten angeben, die den erwarteten Datentypen für die relevanten Eigenschaften entsprechen.

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

  • Basierend auf der Eigenschaft "Regarding ", die eine Zeilen-ID angibt, und der Eigenschaft "Regarding Type ", die den accounts Nachschlagetyp angibt, ordnet die Aktion die neue Zeile einem bestimmten Konto zu.

Die resultierende Aktion sieht wie im folgenden Beispiel aus:

Der Screenshot zeigt die Codeansicht des Workflows, die Aktion „Neue Zeile hinzufügen” und die neue Aufgabenzeile, die mit IDs und Suchtypen verknüpft ist.

Problembehandlung

Anrufe aus mehreren Umgebungen

Der Dataverse-Connector speichert Informationen über die Logik-App-Workflows, die Benachrichtigungen über Änderungen von Datenbankentitäten abrufen und benötigen, 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, zeigen alle kopierten Webhooks auch 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, indem Sie die folgenden Schritte ausführen:

  1. Identifizieren und melden Sie sich bei der Dataverse-Organisation an, aus der Sie Benachrichtigungen entfernen möchten.

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

    1. Überprüfen Sie die allgemeine Liste aller Rückrufregistrierungen unter dem folgenden OData-URI, um die Daten in der callbackregistrations-Entität anzuzeigen.

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

      Hinweis

      Wenn keine Werte zurückgegeben werden, sind Sie möglicherweise nicht berechtigt, diesen Entitätstyp anzuzeigen, oder Sie haben sich nicht bei der richtigen Organisation angemeldet.

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

      Ereignistyp Nachrichteninteger
      Create 1
      Löschen 2
      Update 3
      ErstellenOderAktualisieren 4
      ErstellenOderLöschen 5
      AktualisierenOderLöschen 6
      ErstellenAktualisierenLöschen 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 des Browserfensters und des OData-URI in der Adressleiste.

      Hinweis

      Wenn mehrere Trigger für dieselbe Entität oder dasselbe Ereignis vorhanden sind, können Sie die Liste mithilfe zusätzlicher Filter wie z. B. der createdon Attribute _owninguser_value filtern. Der Name des Eigentümerbenutzers erscheint unter /api/data/v9.0/systemusers({id}).

    3. Nachdem Sie die ID für die Rückrufregistrierung gefunden haben, die Sie löschen möchten, 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 an der Eingabeaufforderung diesen Befehl ein, der eine Anforderung zum Löschen der angegebenen Rückrufregistrierung sendet:

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

        Von Bedeutung

        Stellen Sie sicher, dass Sie die Anforderung von einer Nicht-Unified Client Interface (UCI)-Seite vornehmen, z. B. von der OData- oder API-Antwortseite selbst. Andernfalls kann die Logik in der app.js Datei diesen Vorgang beeinträchtigen.

    4. Um zu bestätigen, dass die Rückrufregistrierung nicht mehr vorhanden ist, überprüfen Sie die Liste der Rückrufregistrierungen.

Doppelte Entität "callbackregistrations"

In Standardworkflows startet der Microsoft Dataverse-Trigger unter bestimmten Bedingungen, z. B. Instanzrelocation oder Anwendungsneustart, eine duplizierte Ausführung, wodurch eine duplizierte callbackregistrations Entität in Ihrer Dataverse-Datenbank erstellt wird. 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.