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.
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).