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
Wird pa app find-dataverse-api verwendet, um nach Vorgängen anhand des Namens in der Umgebung zu suchen, die für Ihre Code-App konfiguriert ist:
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
- Warteschlangenentitätstyp
- Queueitem-Entitätstyp
- Komplexer AddToQueueResponse-Typ
Bei der Suche wird für den Vorgangsnamen eine Übereinstimmung mit nicht beachteter Teilzeichenfolge 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 WhoAmIihren 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 werden verwendet
Promise<IOperationResult<void>>. - Vorgänge, die einen skalaren Wert zurückgeben.
Promise<IOperationResult<T>> - Vorgänge, die einen komplexen Typ oder eine komplexe Tabelle zurückgeben.
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 Vorgangsschema überschrieben, neu generiert dataSourcesInfo.ts, doppelte Konfigurationseinträge entfernt und vorhandene Referenztabellenschemadateien 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.
Die Suche entspricht nur dem Vorgangsnamen. Probieren Sie einen kürzeren oder anderen Suchbegriff aus. Einschließen --json , um die Antwort zu prü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.