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.
In diesem Artikel erfahren Sie, wie Sie Dataverse-Aktionen und -Funktionen mithilfe der Power Apps CLI einer Power Apps Code-App ermitteln und hinzufügen.
Voraussetzungen
- Eine Power Apps-Code-App, die mit
pa app initinitialisiert wurde -
@microsoft/power-appsVersion 1.1.1 oder höher in Ihrempackage.json - Zugriff auf die Dataverse-Umgebung, die den Vorgang enthält, den Sie verwenden möchten
Die CLI fordert Sie auf, sich anzumelden, wenn Sie noch nicht authentifiziert sind.
Schritt 1: Suchen verfügbarer Vorgänge
Verwenden Sie pa app find-dataverse-api, um in der für Ihre Code-App konfigurierten Umgebung nach Vorgängen nach Namen zu suchen:
pa app find-dataverse-api --search "WhoAmI"
Die Ausgabe listet übereinstimmende Vorgänge auf und enthält den Vorgangstyp, Parameter, Bindungstabelle und Rückgabetyp.
====================================================================================================
Dataverse Operations
====================================================================================================
WhoAmI (Function)
Returns: mscrm.WhoAmIResponse
----------------------------------------------------------------------------------------------------
Total: 1 operation(s)
====================================================================================================
Diese Funktion und der Rückgabetyp sind hier dokumentiert:
Sie können auch nach Aktionen suchen. Beispiele:
pa app find-dataverse-api --search "AddToQueue"
====================================================================================================
Dataverse Operations
====================================================================================================
AddToQueue (Action)
Bound to: mscrm.queue
Parameters:
- Target: mscrm.crmbaseentity
- SourceQueue?: mscrm.queue
- QueueItemProperties?: mscrm.queueitem
Returns: mscrm.AddToQueueResponse
----------------------------------------------------------------------------------------------------
Total: 1 operation(s)
====================================================================================================
Diese Aktion, Parametertypen und die zurückgegebenen Typen werden hier dokumentiert:
- AddToQueue-Aktion
- crmbaseentity-Entitätstyp
- Entitätstyp der Warteschlange
- QueueItem-Entitätstyp
- AddToQueueResponse-Komplextyp
Bei der Suche wird eine Teilzeichenfolgenübereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung im Namen der Operation verwendet. Um JSON für Skript- oder Codierungs-Agent-Szenarien zurückzugeben, schließen Sie Folgendes ein --json:
pa app find-dataverse-api --search "WhoAmI" --json
Schritt 2: Hinzufügen des Vorgangs
Nachdem Sie den Vorgangsnamen gefunden haben, fügen Sie ihn der App hinzu:
pa app add dataverse-api --api-name WhoAmI
Der Befehl:
- Ruft die Vorgangsdefinition vom Dataverse-Endpunkt
$metadataab. - Schreibt das Vorgangsschema in
<schemaPath>/dataverse/<ApiName>.Schema.json. - Speichert Schemas für Dataverse-Tabellen, auf die vom Vorgang verwiesen wird.
- Aktualisiert
power.config.json. - Regeneriert
dataSourcesInfo.ts. - Generiert TypeScript-Modelle und eine Dienstklasse unter
<codeGenPath>/generated/.
Wenn Sie den Vorgang hinzufügen, gibt die CLI eine Bestätigung zurück:
Dataverse API 'WhoAmI' added successfully.
Schritt 3: Verwenden des generierten Diensts
Der Befehl generiert eine <ApiName>Service Klasse für den Vorgang. Importieren Sie nach dem Hinzufügen von WhoAmI den zugehörigen Dienst:
import { WhoAmIService } from './generated/services/WhoAmIService';
Rufen Sie die generierte Methode auf:
const result = await WhoAmIService.WhoAmI();
// result.value contains BusinessUnitId, UserId, and OrganizationId.
Bei einer gebundenen Aktion wie AddToQueuez. B. ist das erste Argument die ID des Datensatzes, auf dem die Aktion ausgeführt wird:
import { AddToQueueService } from './generated/services/AddToQueueService';
const result = await AddToQueueService.AddToQueue(
queueId,
target,
sourceQueue,
queueItemProperties
);
Parameter- und Rückgabetypen basieren auf dem Dataverse-Schema:
- GUID-Parameter verwenden den
stringTyp. - Nachschlageparameter, die auf eine Dataverse-Tabelle verweisen, verwenden
Record<string, unknown>. - Vorgänge ohne Rückgabewert verwenden
Promise<IOperationResult<void>>. - Vorgänge, die einen skalaren Wert zurückgeben, verwenden
Promise<IOperationResult<T>>. - Operationen, die einen komplexen Typ oder eine Tabelle zurückgeben, verwenden
Promise<IOperationResult<Record<string, unknown>>>.
Aktualisieren eines Vorgangs
Führen Sie die Ausführung pa app add dataverse-api erneut mit demselben Vorgangsnamen aus, um die neueste Definition abzurufen:
pa app add dataverse-api --api-name WhoAmI
Mit dem Befehl wird das Operationsschema überschrieben, das dataSourcesInfo.ts neu generiert, doppelte Konfigurationseinträge entfernt und vorhandene Schema-Dateien referenzierter Tabellen beibehalten.
Erstellte oder aktualisierte Dateien
| Datei | Ändern |
|---|---|
<schemaPath>/dataverse/<ApiName>.Schema.json |
Erstellt oder überschreibt das Vorgangsschema. |
<schemaPath>/dataverse/<TableName>.Schema.json |
Erstellt Schemas für referenzierte Tabellen, wenn sie noch nicht vorhanden sind. |
<schemaPath>/appschemas/dataSourcesInfo.ts |
Generiert die Datenquelleninformationen erneut. |
power.config.json |
Fügt den Dataverse-Verweis hinzu und fügt für einen gebundenen Vorgang die Bindungstabelle hinzu. |
<codeGenPath>/generated/models/<TableName>Model.ts |
Generiert Modelle für referenzierte Tabellen. |
<codeGenPath>/generated/services/<ApiName>Service.ts |
Generiert die Dienstklasse für den Vorgang. |
Problembehandlung
Es wurden keine Vorgänge gefunden.
Bei der Suche wird nur nach dem Namen der Operation gesucht. Probieren Sie einen kürzeren oder anderen Suchbegriff aus. Fügen Sie --json ein, um die Antwort zu überprüfen.
Generierte Dateien sind veraltet
Führen Sie die Ausführung pa app add dataverse-api erneut mit demselben Vorgangsnamen aus. Wenn Sie den Vorgang umbenannt oder entfernt haben und veraltete generierte Dateien verbleiben, löschen Sie diese Dateien, bevor Sie den Vorgang neu generieren.