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 PowerShell Version 7.4.0-Beispiel wird veranschaulicht, wie Vorgänge ausgeführt werden, die bedingt auf der Version der Tabellenzeile basieren, die auf dem Microsoft Dataverse-Server und/oder aktuell vom Client verwaltet wird. In diesem Beispiel werden die Dataverse-Vorgänge und die Konsolenausgabe implementiert, die im Beispiel für bedingte Web-API-Vorgänge beschrieben ist.
Dieses Beispiel verwendet die Dataverse-Web-API-PowerShell-Hilfsfunktionen, um die Authentifizierung zu verwalten und wiederverwendbare Funktionen zur Durchführung allgemeiner Vorgänge bereitzustellen. Auf diese Skripte wird mit Dot-Sourcing mit den folgenden Zeilen verwiesen:
. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1
Hinweis
Dieses Beispiel sollte mit Windows, Linux und macOS funktionieren, wurde jedoch nur auf Windows getestet.
Voraussetzungen
Bevor Sie dieses Beispiel ausführen, sollten Sie die folgenden Artikel lesen, in denen die von diesen Beispielen verwendeten Konzepte und Muster erläutert werden:
- Schnellstart-Web-API mit PowerShell und Visual Studio Code
- Verwenden Sie PowerShell und Visual Studio Code mit der Dataverse-Web-API
Für diese Artikel gelten die gleichen Voraussetzungen.
Installieren Sie Folgendes oder überprüfen Sie, ob es vorhanden ist
Installieren Sie Visual Studio Code. Siehe Download Visual Studio Code
Installieren Sie die PowerShell-Erweiterung für Visual Studio Code. Siehe PowerShell für Visual Studio Code
Installieren Sie PowerShell 7.4 oder höher. Siehe Install PowerShell auf Windows, Linux und macOS
Installieren Sie die Az-PowerShell-Modulversion 11.1.0 oder höher. Siehe Wie installieren Sie Azure PowerShell
Überprüfen der Installation
Öffnen Sie Visual Studio Code.
Wählen Sie im Menü Terminal die Option New Terminal (Neues Terminal) aus.
Wählen Sie im navigationsbereich Visual Studio Code das Symbol
für die PowerShell-Erweiterung aus.Kopieren Sie das folgende Skript, und fügen Sie es in das terminalfenster Visual Studio Code ein:
Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString() Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).VersionDrücken Sie die EINGABETASTE. Die Ausgabe sollte wie folgt aussehen:
PowerShell Version: 7.4.0 PowerShell Az version: 11.1.0
Wenn Sie keine derartigen Ergebnisse sehen, installieren oder aktualisieren Sie die Voraussetzungen.
Darüber hinaus brauchen Sie
- Ein gültiges Benutzerkonto für eine Dataverse-Umgebung
- Die URL zur Dataverse-Umgebung, mit der Sie eine Verbindung herstellen möchten Unter Entwicklerressourcen anzeigen erfahren Sie, wie Sie ihn finden. Sie sieht ungefähr so aus:
https://yourorg.crm.dynamics.com/, wobeiyourorg.crmanders ist. - Grundlegende Kenntnisse über die PowerShell-Skriptsprache
Wie man dieses Beispiel ausführt
Klonen Sie das Repository Power Apps-Samples, oder laden Sie es herunter.
Öffnen sie die Datei
ConditionalOperations.ps1mit Visual Studio CodeBearbeiten Sie diese Zeile, damit sie die URL der Umgebung verwendet, mit der Sie eine Verbindung herstellen können:
Connect 'https://yourorg.crm.dynamics.com/' # change this(Optional) Legen Sie die
$deleteCreatedRecords-Variable auf$falsefest, wenn Sie die in diesem Beispiel erstellten Datensätze nicht löschen möchten.Drücken Sie F5, um das Beispiel auszuführen.
Wenn Sie das Beispiel zum ersten Mal ausführen, wird ein Browserfenster geöffnet. Geben Sie im Browserfenster die Anmeldeinformationen ein bzw. wählen Sie diejenigen aus, die Sie zur Authentifizierung verwenden möchten.
Um eine Verbindung als anderer Benutzer herzustellen, führen Sie den Disconnect-AzAccount-Befehl aus, und versuchen Sie es erneut.
Code
Der Code für dieses Beispiel ist zu finden unter: PowerApps-Samples/dataverse/webapi/PS/ConditionalOperations/ConditionalOperations.ps1
Zeigt
Dieses Beispiel umfasst vier Regionen:
Abschnitt 0: Beispieldatensätze erstellen
Operationen: Erstellen Sie einen Kontodatensatz; rufen Sie ihn ab, um den ursprünglichen ETag-Wert zu erfassen.
Abschnitt 1: Bedingtes GET
Vorgänge:
- Versuchen Sie, das Konto mithilfe
If-None-Matchdes Headers mit dem ursprünglichen ETag-Wert abzurufen, der zeigt, dass eine304 NotModifiedAntwort zurückgegeben wird, wenn der Datensatz nicht geändert wurde. - Aktualisieren Sie die Telefonnummer des Kontos.
- Versuchen Sie, mithilfe des Headers
If-None-Matchmit dem ursprünglichen ETag-Wert das Konto erneut abzurufen, was zeigt, dass der vollständige Datensatz zurückgegeben wird, weil er geändert wurde.
Abschnitt 2: Optimistische Parallelität beim Löschen und Aktualisieren
Vorgänge:
- Versuchen Sie, das Konto mithilfe des
If-MatchHeaders mit dem ursprünglichen ETag-Wert zu löschen, wobei gezeigt wird, dass ein412 PreconditionFailedFehler zurückgegeben wird, falls das ETag nicht übereinstimmt. - Versuchen Sie, das Konto mithilfe
If-Matchdes Headers mit dem ursprünglichen ETag-Wert zu aktualisieren, der zeigt, dass ein412 PreconditionFailedFehler zurückgegeben wird, wenn das ETag nicht übereinstimmt. - Aktualisieren Sie das Konto mithilfe des
If-MatchHeaders mit dem aktuellen ETag-Wert, der zeigt, dass das Update erfolgreich ist, wenn das ETag übereinstimmt. - Rufen Sie das Konto ab, um das Update zu bestätigen.
Abschnitt 3: Beispieldatensätze löschen
Vorgänge: Ein Verweis auf jeden in diesem Beispiel erstellten Datensatz wurde einer Liste hinzugefügt, während sie erstellt wurde. Dieser Abschnitt durchläuft diese Liste und löscht jeden Datensatz.
Aufräumen
Standardmäßig löscht dieses Beispiel alle darin erstellten Datensätze. Wenn Sie die erstellten Datensätze nach Abschluss des Beispiels anzeigen möchten, ändern Sie die deleteCreatedRecords-Variable in false. Sie werden dann aufgefordert, zu entscheiden, ob Sie die Datensätze löschen möchten.
Siehe auch
Verwenden der Dataverse-Web-API
Bedingte Vorgänge mithilfe der Web-API ausführen
Schnellstart-Web-API mit PowerShell und Visual Studio Code
Verwenden Sie PowerShell und Visual Studio Code mit der Dataverse-Web-API
Web-API-Beispiele
Beispiel bedingter Web-API-Vorgänge
Beispiel bedingter Web-API-Vorgänge (C#)
Beispiel bedingter Web-API-Vorgänge (clientseitiges JavaScript)