Eingehende Datenintegration

Abgeschlossen

Die eingehende Datenintegration bezieht sich auf das Integrieren externer Daten in Microsoft Dataverse, damit sie für Apps und Cloud-Flows verfügbar sind.

API

Microsoft Dataverse bietet zwei Webdienste für die Arbeit mit Daten und Metadaten: die Web-API und den Organisationsdienst.

Die Dataverse-Web-API unterstützt die plattformübergreifende Entwicklung mit RESTful-Methoden und folgt dem OData-Standard (Open Data Protocol) 4.0. Dank dieses offenen Standards ist die Durchführung einer nahtlosen Integration über unterschiedliche Programmiersprachen, Plattformen und Geräte möglich.

Alle Datenvorgänge über die Dataverse-APIs werden in Nachrichten übersetzt, die vom Ereignisframework der Plattform verarbeitet werden. Dies unterstützt Automatisierungsszenarien mit Power Automate-Cloud-Flows oder klassischen Workflows und ermöglicht es Entwicklern, Plug-Ins zur Validierung oder für benutzerdefinierte Geschäftslogik hinzuzufügen.

Ereignis im Vergleich zu Batch

Lösungsarchitekten sollten eingehende Daten als ereignisgesteuert oder batchverarbeitet einstufen, um die passenden Integrationsmuster festlegen zu können. Das folgende Diagramm vergleicht diese beiden Ansätze:

Diagramm der Inbound-Integrationsansätze

Push-Muster

Legen Sie bei der Integration mit Dataverse fest, ob Daten von externen Systemen übertragen oder bei Bedarf von Dataverse abgerufen werden.

Beim Push-Muster sendet ein externes System Daten direkt mithilfe der Web-API an Dataverse. Dazu muss das externe System sowohl das Datenmodell von Dataverse als auch die zugrunde liegende Geschäftslogik verstehen.

Erstellen Sie eine Abstraktionsebene, um den externen Zugriff auf Dataverse-Tabellen zu verwalten. Dieser Ansatz schirmt externe Systeme von internen Änderungen ab und unterstützt dabei die folgenden Methoden:

  • Ereignisbasierte Verarbeitung – Power Automate oder Microsoft Azure Logic Apps kann einzelne Transaktionen verarbeiten, die durch Ereignisse in Quellsystemen ausgelöst werden.
  • Batchverarbeitung – Verwenden Sie Tools wie KingswaySoft oder Azure Data Factory, um große Datenübertragungen in Batches abzuwickeln.
  • Microsoft Azure-Funktionen – Abstrahiert Geschäftslogik in wiederverwendbare Azure-Funktionen für die Integration.
  • Benutzerdefinierte API – Erstellen Sie eine benutzerdefinierte API, mit der externe Systeme interagieren können.

Hinweis

Power Automate wird oft verwendet, um Daten zwischen Dataverse-Umgebungen zu synchronisieren.

Berücksichtigen Sie bei der Erstellung von Integrationen den Einsatz von Multithreading, um die Latenz zu reduzieren und Servicelimits effizient zu steuern.

Pull-Muster

Setzen Sie das Pull-Muster ein, wenn Daten situativ abgerufen werden müssen – etwa in Szenarien zur Echtzeit-Datenerweiterung. Bei diesem Ansatz werden Daten bei Bedarf aus externen Systemen abgerufen, sobald in Dataverse auf entsprechende Datensätze zugegriffen wird.

Virtuelle Entitäten sind ideal für Pull-Szenarien, bei denen in Echtzeit auf externe Daten zugegriffen werden muss, ohne diese dauerhaft in Dataverse zu speichern.

Alternativschlüssel

In Dataverse werden Zeilen mithilfe einer GUID eindeutig identifiziert. Externe Systeme sind oft darauf angewiesen, diese GUID zu speichern oder bei Bedarf abzurufen, was unter Umständen für Ineffizienzen sorgen kann.

Mit Alternativschlüsseln können externe Systeme Daten lesen oder schreiben, ohne dass die Dataverse-GUID erforderlich ist, was eine effizientere Integration ermöglicht. Verwendet ein externes Buchhaltungssystem z. B. eine eindeutige alphanumerische Kontonummer, lässt sich dieses Feld in Dataverse als alternativer Schlüssel festlegen. Dadurch wird ein direkter Zugriff auf Datensätze mit der Kennung des externen Systems möglich.

Upsert

Nutzen Sie die Upsert-Nachricht, um die Integrationslogik zu vereinfachen, insbesondere wenn nicht eindeutig ist, ob ein Datensatz in Dataverse bereits existiert.

Anstatt zuerst eine Abfrage durchzuführen und dann zwischen Erstellen oder Aktualisieren auszuwählen, können Sie eine Upsert-Nachricht senden. Bei Verwendung mit einem Alternativschlüssel wird automatisch ermittelt, ob Dataverse eine neue Zeile erstellt oder eine vorhandene aktualisiert werden soll.

Diagramm, das die Verwendung der Upsert-Logik zeigt

Benutzerdefinierte APIs

Benutzerdefinierte APIs ermöglichen es, gebündelte Vorgänge für externe Systeme festzulegen und bereitzustellen, sodass sie über eine einzige aufrufbare Schnittstelle genutzt werden können.

Erstellen Sie einen benutzerdefinierten API-Datensatz in Dataverse, um die Struktur zu definieren. Eine benutzerdefinierte API kann eine Funktion (für Lesevorgänge) oder eine Aktion (für Schreibvorgänge) sein. Plug-Ins können verwendet werden, um die API-Logik zu implementieren.

Screenshot eines benutzerdefinierten API-Datensatzes

Hinweis

Weitere Informationen finden Sie unter Benutzerdefinierte APIs erstellen und verwenden.

Azure Functions

Azure Functions bietet Entwicklern die Möglichkeit, komplexe benutzerdefinierte Logik zu implementieren, die systemübergreifend verwendbar und wiederverwendbar ist. Sie lassen sich per Webhook auslösen, in benutzerdefinierte Konnektoren einbinden und über externe Anwendungen oder Dienste aufrufen.

Verwenden Sie Azure Functions zum Übertragen oder Abrufen von Daten in Dataverse zum Erstellen von APIs mit benutzerdefinierter serverseitiger Logik. Diese APIs können sicher über das Microsoft Azure API Management verfügbar gemacht werden.