Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft Dataverse macht APIs über Nachrichten verfügbar. Sie können viele sofort einsatzbereite Nachrichten verwenden. Verwenden Sie benutzerdefinierte Nachrichten, um neue domänenspezifische Funktionen hinzuzufügen oder mehrere Nachrichtenanforderungen in einer einzigen Anforderung zu kombinieren. Beispielsweise könnten Sie in einem Supportcallcenter die Meldungen Create, Assign und Update zu einer einzigen neuen Escalate-Meldung kombinieren.
Sie können benutzerdefinierte Nachrichten auf zwei Arten definieren:
| Benutzerdefinierte Nachrichtenmethode | Beschreibung |
|---|---|
| Benutzerdefinierte Prozessaktion | Auch als benutzerdefinierte Aktionen bezeichnet, sind diese Nachrichten seit vielen Jahren Teil von Dataverse. Benutzerdefinierte Prozessaktionen bieten eine no-code-Methode zum Definieren einer benutzerdefinierten Nachricht mithilfe des Workflow-Designers. Sie können die Logik in diesen Workflows auch mithilfe von benutzerdefinierten Workflowaktivitäten erweitern. Weitere Informationen finden Sie unter Verwenden von benutzerdefinierten Prozessaktionen mit Code. |
| Benutzerdefinierte API | Erweitert das Konzept von benutzerdefinierten Aktionen, um Entwicklern Funktionen bereitzustellen, die der Workflow-Designer nicht begrenzt. Weitere Informationen finden Sie unter Erstellen und Verwenden von benutzerdefinierten APIs. |
Warum benutzerdefinierte APIs hinzufügen?
Viele Jahre lang haben einige Entwickler benutzerdefinierte Prozessaktionen erstellt, um einfach neue Nachrichten zu erstellen, ohne logik im Workflow-Designer zu implementieren. Stattdessen registrierten sie nur Plug-Ins für die Nachricht, die von der benutzerdefinierten Aktion erstellt wurde, um alle ihre Logik zu implementieren. Benutzerdefinierte APIs machen dieses Muster zu einer erstklassigen Funktion für Entwickler, Dataverse ohne Abhängigkeit vom Workflow-Designer oder von der Technologie zu erweitern, von der es abhängt.
Vergleichen Sie Custom Process Action und Custom-API
In der folgenden Tabelle werden einige der verschiedenen Funktionen beschrieben.
| Funktion | Benutzerdefinierte Prozessaktion | 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 könnte. 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.Legen Sie für die benutzerdefinierte API die Option fest AllowedCustomProcessingStepType, um zu steuern, ob Plug-In-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 und 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 | Sie können beide verwendne, um eine globale Nachricht zu definieren, die nicht an eine Tabelle gebunden ist. |
| Binden einer Operation an eine Tabelle | Ja | Ja | Sie können beide verwenden, um 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. Ein XAML Windows Workflow Foundation-Dokument enthält die Daten, die die benutzerdefinierte Prozessaktion als Teil einer Lösung transportieren. 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