Eingehende Datenintegration

Abgeschlossen

Die Integration eingehender Daten konzentriert sich auf die Datenerfassung in Microsoft Dataverse, damit es für Apps und Flows verfügbar ist.

API

Die Web-API ist einer von zwei Webdiensten, mit denen Sie mit Daten und Metadaten in Dataverse arbeiten können. Die andere ist der Organisationsdienst.

Die Web-API von Dataverse kann mit vielen verschiedenen Programmiersprachen, Plattformen und Geräten verwendet werden. Mit der Dataverse-Web-API wird OData (Open Data Protocol) Version 4.0 implementiert, ein OASIS-Standard zum Erstellen und Verwenden von RESTful-APIs.

Alle Datenoperationen, die die Dataverse APIs verwenden, unabhängig davon, ob sie die Web-API oder den Organisationsdienst verwenden, werden in Nachrichten konvertiert, die dem Ereignisframework der Plattform folgen. Dieses Framework ermöglicht Prozesse wie den klassischen Workflow und Power Automate-Cloud-Flows, die initiiert werden sollen und es Entwicklern ermöglichen, benutzerdefinierte Plug-In-Schritte hinzuzufügen, die ausgeführt werden können, um die Validierung und weitere Verarbeitung durchzuführen.

Ereignis im Vergleich zu Batch

Lösungsarchitekten sollten die Daten kategorisieren, die in Dataverse erforderlich sind. Eine Schlüsselkategorie ist ereignis‑ oder batchbasiert. Das folgende Diagramm vergleicht diese beiden Ansätze.

Diagramm der Inbound-Integrationsansätze

Push-Muster

Wenn Sie überlegen, Daten in Dataverse zu bekommen, müssen Sie bestimmen, ob Daten von einem anderen System in Dataverse übertragen werden oder wenn es in Dataverse abgerufen wird.

Das allgemeine Push-Muster für die Inbound-Integration in Dataverse besteht darin, die Web-API mit dem anderen System zu verwenden, das die Web-API-Aufrufe ausführt. Zu ermöglichen, dass andere Systeme direkt in das System Dataverse schreiben, wird erfordert, dass die anderen Systeme das Datenmodell in Dataverse verstehen und wie die Prozesse in der Microsoft Power Platform-Lösung betrieben werden. Es ist eine gute Idee, eine Ebene für externe Systeme zu erstellen, um auf die folgenden Entitäten zuzugreifen:

  • Ereignisbasierte Verarbeitung – Power Automate und Microsoft Azure Logic Apps sind gute Ansätze für einzelne Transaktionen, die durch Änderungen im Quellsystem ausgelöst werden.
  • Batchverarbeitung – Batch wird häufig durch Tools aus anderen Quellen wie KingswaySoft oder durch Verwendung der Microsoft Azure Data Factory abstrahiert.
  • Microsoft Azure Functions – Azure Functions können die Notwendigkeit der Implementierung von Geschäftslogik in Ihrer Unternehmensintegrationsschicht abstrahieren.
  • Benutzerdefinierte API – Erstellen Sie Ihre eigene API, damit andere Systeme sie aufrufen können.

Hinweis

Power Automate wird häufig verwendet, um Daten zwischen Dataverse-Umgebungen zu synchronisieren.

Beim Entwerfen von Integrationslösungen müssen Sie die Verwendung mehrerer Threads in Betracht ziehen, um Latenzeffekte und Servicelimits zu überwinden.

Pull-Muster

Das Pull-Muster kann zur Datenerweiterung wirksam sein. Sie können das Pull-Muster verwenden, um die Daten bei Bedarf von einem externen System abzurufen, wenn Zeilen in Dataverse abgerufen werden. Virtuelle Entitäten können gut zu diesem Muster passen.

Alternativschlüssel

In Dataverse-Tabellen und Zeilen werden mithilfe einer GUID eindeutig identifiziert. Andere Systeme, die in Dataverse integriert werden, müssen die GUID in der Datenbank aufzeichnen oder Dataverse abfragen, um die Zeile zu finden, die aktualisiert werden muss. Dieser Ansatz ist ineffizient. Dataverse bietet die Möglichkeit, Alternativschlüssel für Tabellen zu erstellen.

Mit einem Alternativschlüssel können externe Systeme, die Zeilen lesen und schreiben müssen, effizient auf die Zeilen zugreifen, ohne zuerst eine Abfrage ausführen zu müssen, um die GUID zu finden. Beispielsweise haben Buchhaltungssysteme häufig eine alphanumerische Kontonummer, die das Konto eindeutig identifiziert. Sie können das Feld Kontonummer in der Spalte Dataverse-Tabelle definieren, um ein Alternativschlüssel zu sein, damit das Buchhaltungssystem das Konto unter Verwendung der Daten, die es in seinem eigenen System enthält, lesen und schreiben kann.

Upsert

Mithilfe der Upsert-Nachricht können Sie die Komplexität von Datenintegrationsszenarien reduzieren. Beim Pushen von Daten in Microsoft Dataverse von einem externen System aus wissen Sie möglicherweise nicht, ob bereits ein Datensatz in Dataverse vorhanden ist. In solchen Fällen wissen Sie nicht, ob Sie einen Vorgang Aktualisieren oder einen Vorgang Erstellen verwenden sollen. Sie müssen zuerst eine Abfrage ausführen, um festzustellen, ob sie vorhanden ist, bevor Sie den entsprechenden Vorgang ausführen. Sie können diese Komplexität durch Verwendung der Upsert-Nachricht jetzt reduzieren und Daten effizienter in Dataverse laden.

Upsert wird mit Alternativschlüsseln verwendet. Sie müssen im Upsert-Aufruf genügend Informationen bereitstellen, und Dataverse wird die Zeile nachschlagen und die Zeile entweder erstellen oder aktualisieren, wie in der folgenden Abbildung gezeigt.

Diagramm, das die Verwendung der Upsert-Logik zeigt

Benutzerdefinierte APIs

Benutzerdefinierte APIs sind neu veröffentlichte Funktionen, mit denen Sie eine Gruppe von Vorgängen in einer API abstrahieren und konsolidieren können, die die anderen Systeme aufrufen können.

Sie können benutzerdefinierte APIs definieren, indem Sie einen benutzerdefinierten API-Datensatz erstellen (siehe folgenden Screenshot).

Screenshot eines benutzerdefinierten API-Datensatzes

Eine benutzerdefinierte API kann eine Funktion oder eine Aktion sein. Sie sollten eine Funktion verwenden, bei der es sich um eine GET-Anforderung handelt, um Informationen abzurufen, und eine Aktion, wenn Sie Daten ändern möchten.

Sie können ein Plug-In verwenden, um den eigentlichen Datenvorgang für die benutzerdefinierte API auszuführen.

Hinweis

Weitere Informationen finden Sie unter Benutzerdefinierte APIs erstellen und verwenden.

Azure Functions

Mit Microsoft Azure Functions können Entwickler komplexe, wiederverwendbare benutzerdefinierte Logik erstellen und in die anderen Systeme integrieren. Azure Functions können mit Webhooks verwendet oder in einen benutzerdefinierten Konnektor eingeschlossen werden. Mithilfe von Azure Functions können Entwickler wiederverwendbare Komponenten erstellen, die Functional Consultants und App-Entwickler in ihren Apps und Flows verwenden können. Darüber hinaus können andere Anwendungen auf Azure-Funktionen zugreifen, um Daten zu Dataverse zu übertragen und abzurufen. Azure Functions können eine Verbindung zu Dataverse herstellen und auf die Daten zugreifen.

Sie können eine API für Ihre Lösung erstellen, indem Sie mithilfe von Azure Functions eine benutzerdefinierte serverseitige Logik erstellen und die API über Microsoft Azure API Management verfügbar machen.