Eigene Nachrichten erstellen

Microsoft Dataverse stellt APIs mit Nachrichten zur Verfügung. Es gibt viele standardmäßige Nachrichten, die Sie verwenden können. Benutzerdefinierte Nachrichten werden normalerweise verwendet, um neue domänenspezifische Funktionen hinzuzufügen und mehrere Nachrichtenanforderungen zu einer einzigen Anforderung zu kombinieren. Beispielsweise können Sie in einem Supportcallcenter die Meldungen Create, Assign und Update zu einer einzigen neuen Escalate-Meldung kombinieren.

Es gibt jetzt zwei Möglichkeiten, benutzerdefinierte Nachrichten zu definieren:

Benutzerdefinierte Nachrichtenmethode Beschreibung
Custom Process Action Auch einfach als Benutzerdefinierte Aktionen bekannt, sind diese seit vielen Jahren Teil von Dataverse. Custom Process Actions bieten eine no-code Möglichkeit, eine angepasste Nachricht mit dem Workflow-Designer zu definieren. Die Logik in diesen Workflows kann auch mithilfe von benutzerdefinierten Workflowaktivitäten mit Code erweitert werden. Weitere Informationen: Verwenden Sie Custom Process Actions mit Code
Benutzerdefinierte API Erweitert das Konzept der angepassten Aktionen, um Entwicklern Funktionalitäten zu bieten, die nicht durch den Workflow-Designer begrenzt sind. Weitere Informationen: Custom-APIs erstellen und verwenden

Viele Entwickler haben benutzerdefinierte Prozessaktionen erstellt, um einfach neue Nachrichten zu erstellen, ohne irgendeine Logik im Workflow-Designer zu implementieren. Stattdessen registrieren sie Plug-Ins für die Nachricht, die von der benutzerdefinierten Aktion erstellt wurde, um ihre gesamte Logik zu implementieren. Die Custom-API-Funktion macht dieses Muster zu einer erstklassigen Funktionalität für Entwickler, die Dataverse erweitern können, ohne vom Workflow-Designer oder der Technologie, von der er abhängt, abhängig zu sein.

Vergleichen Sie Custom Process Action und Custom-API

In der folgenden Tabelle werden einige der verschiedenen Funktionen beschrieben.

Funktion Custom Process Action Benutzerdefinierte API Beschreibung
Deklarative Logik mit Workflow Ja Nein Für Workflowaktionen kann Logik definiert werden, ohne dass mit dem klassischen Workflow-Designer Code geschrieben werden muss.
Benutzerdefinierte APIs erfordern ein in .NET geschriebenes Plug-In, um die auf den Server angewendete Logik zu implementieren.
Bestimmte Berechtigung erforderlich Nein Ja Mit der Custom-API können Sie festlegen, dass ein Benutzer über eine bestimmte Berechtigung verfügen muss, um die Nachricht aufrufen zu können. Wenn der Benutzer diese Berechtigung aufgrund seiner Sicherheitsrollen oder seiner Teammitgliedschaft nicht hat, wird ein Fehler zurückgegeben.
Hauptvorgangslogik mit Code definieren Ja Ja Bei Custom Process Actions verarbeitet der Hauptvorgang die Workflow-Definition, die angepasste Workflow-Aktivitäten enthalten kann. Der Code in diesen benutzerdefinierten Workflowaktivitäten wird im Hauptvorgang zusammen mit jeder anderen Logik im Workflow verarbeitet.
Wenn die benutzerdefinierte Prozessaktion keine benutzerdefinierten Workflowaktivitäten enthält, fügen Entwickler häufig Logik zur nachgelagerten Vorgangsphase in der Ereignispipeline hinzu, um die Logik zu definieren.

Bei der Custom-API verknüpft der Ersteller der Nachricht einfach seinen Plug-in Typ mit der Custom-API, um die Hauptlogik des Vorgangs bereitzustellen.
Weitere Informationen: Ereignisausführungspipeline
Blockerweiterung durch andere Plug-Ins Ja Ja Mit benutzerdefinierten Prozessaktionen setzen Sie die IsCustomProcessingStepAllowedForOtherPublishers verwaltetes Eigenschaft auf true, wenn Sie zulassen möchten, dass Plug-Ins von Drittanbietern ausgeführt werden, wenn sie in der Nachricht für Ihre benutzerdefinierte Prozessaktion registriert sind. Bei Einstellung auf false werden nur Plug-Ins von demselben Lösungsherausgeber ausgeführt, wenn ein Plug-In-Schritt für die Nachricht registriert ist.

Für Custom-API setzen Sie das AllowedCustomProcessingStepType, um zu steuern, ob beliebige Plug-Ins Schritte registriert werden dürfen oder ob nur asynchrone Plug-Ins registriert werden dürfen. Mehr Informationen: Wählen Sie einen benutzerdefinierten Verarbeitungsschritttyp aus
Nachricht als privat markieren Nein Ja Wenn Sie eine Nachricht mit einer Custom Process Action erstellen, wird sie im Endpunkt öffentlich zugänglich gemacht, sodass jeder andere sie entdecken und verwenden kann. Wenn eine andere Person von der von Ihnen erstellten Nachricht abhängig ist, wird ihr Code beschädigt, wenn Sie die Signatur der Eingabe- oder Ausgabeparameter in Zukunft entfernen, umbenennen oder ändern.

Wenn Sie nicht beabsichtigen, dass Ihre Nachricht von anderen Personen verwendet wird, können Sie sie als private Nachricht markieren. Dies zeigt an, dass Sie andere Benutzer mit der von Ihnen erstellten Nachricht nicht unterstützen und dass sie nicht in den Definitionen der verfügbaren Funktionen oder Aktionen enthalten ist, die in der Definition des Web-API-$metadata service verfügbar gemacht werden. Die Klassen für den Aufruf dieser Nachrichten werden nicht mit Tools zur Codegenerierung erzeugt, aber Sie können sie trotzdem verwenden. Weitere Informationen: Wann Sie Ihre Custom-API privat machen sollten
Lokalisierbare Namen und Beschreibungen Nein Ja Während Custom Process Actions einen Anzeigenamen für die angepasste Aktion und alle verwendeten Eingabe- und Ausgabeparameter vorsehen, sind diese Werte nicht lokalisierbar. Mit einer Custom-API können Sie lokalisierbare Namen und Beschreibungen bereitstellen. Diese lokalisierten Zeichenfolgen können dann an Steuerelemente gebunden werden, die eine Benutzeroberfläche zur Verwendung der Nachricht bereitstellen. Mehr Informationen: Lokalisierte Label-Werte
OData-Funktion erstellen Nein Ja Die Dataverse-Web-API ist ein OData-Webdienst. OData bietet zwei Vorgangstypen: Aktionen & Funktionen.
  • Eine Aktion ist ein Vorgang, der Änderungen an Daten im System vornimmt. Sie wird mit der HTTP-POST-Methode aufgerufen, und die Parameter werden im Hauptteil der Anforderung übergeben.
  • Eine Funktion ist ein Vorgang, bei dem keine Änderungen an Daten vorgenommen werden, z. B. ein Vorgang, bei dem einfach Daten abgerufen werden. Sie wird mit der HTTP-GET-Methode aufgerufen, und die Parameter werden in der URL der Anforderung übergeben.

Custom Process Actions sind immer Aktionen. Custom-API bietet die Möglichkeit, angepasste Funktionen zu definieren.
Mehr Informationen: Wann eine Funktion erstellen
Erstellen einer globalen Operation, die nicht an eine Tabelle gebunden ist Ja Ja Beide bieten die Möglichkeit, eine globale Nachricht zu definieren, die nicht an eine Tabelle gebunden ist.
Binden einer Operation an eine Tabelle Ja Ja Beide bieten die Möglichkeit, einen Verweis auf einen bestimmten Datensatz einer Tabelle zu übergeben, indem sie ihn an eine Tabelle binden.
Binden einer Operation an eine Tabellensammlung Nein Ja Die Bindung eines Vorgangs an eine Sammlung von Tabellen lässt eine weitere Möglichkeit zu, die Signatur für die Custom-API zu definieren. Obwohl dies keine Sammlung von Entitäten als Eingabeparameter übergibt, beschränkt es den Kontext der Operation auf diesen Typ von Tabellensammlung. Verwenden Sie dies, wenn Ihr Vorgang mit einer Sammlung eines bestimmten Tabellentyps arbeitet oder Ihr Vorgang eine Sammlung dieses Typs zurückgibt.
Eine benutzerdefinierte API erstellen oder ändern, indem eine Lösung bearbeitet wird Nein Ja ISVs, die Produkte erstellen und warten, die in der Power Platform funktionieren, wenden ALM-Praktiken an, die Lösungen beinhalten. Die Daten in einer Lösung werden normalerweise in ein Quellcode-Repository eingecheckt und von einem Entwickler ausgecheckt, der Änderungen anwendet.

Eine Custom Process Action wird durch ein XAML Windows Workflow Foundation-Dokument definiert, das als Teil einer Lösung transportiert wird. Das Erstellen neuer oder das Bearbeiten vorhandener Workflowdefinitionen außerhalb des Workflow-Designers wird jedoch nicht unterstützt.

Benutzerdefinierte API-Definitionen sind lösungsorientierte Komponenten, die in einer Lösung über eine Reihe von Ordnern und XML-Dokumenten enthalten sind. Diese Dateien und die Dateistruktur ermöglichen den Transport der API von einer Umgebung in eine andere. Da es sich um reine Textdateien handelt, können Änderungen daran vorgenommen oder neue APIs durch Arbeiten mit diesen Dateien definiert werden. Diese Methode zur Definition angepasster APIs wird unterstützt. Weitere Informationen: Erstellen Sie eine Custom-API mit Lösungsdateien.
Vorbehaltlich einer Frist von zwei Minuten Nein Ja Ein Plug-in, das den Hauptvorgang für eine Custom-API implementiert, unterliegt dem Zeitlimit von 2 Minuten für die vollständige Ausführung.

Eine Custom Process Action ist technisch nicht auf zwei Minuten begrenzt. Wenn ein Schritt in der Workflow-Logik eine angepasste Workflow-Aktion enthält, ist dieser Teil auf zwei Minuten begrenzt. Der gesamte Workflow kann jedoch nicht unbegrenzt ausgeführt werden. Es gibt andere Beschränkungen, die dazu führen, dass lang ausgeführte Custom Process Actions fehlschlagen. Weitere Informationen: Auf zeitintensive Aktionen achten

Nächste Schritte

Verwenden Sie Custom Process Actions mit Code
Benutzerdefinierte APIs erstellen und verwenden

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).