Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple PowerShell version 7.4.0 montre comment effectuer des opérations qui sont conditionnellement basées sur la version de la ligne de table contenue sur le serveur Microsoft Dataverse et/ou actuellement conservées par le client. Cet exemple implémente les opérations Dataverse et la sortie de la console détaillées dans l’exemple d’opérations conditionnelles de l’API web.
Cet exemple utilise les fonctions d’assistance PowerShell de l’API Web Dataverse pour gérer l’authentification et fournir des fonctions réutilisables pour effectuer des opérations courantes. Ces scripts sont référencés à l’aide de dot sourcing avec les lignes suivantes :
. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1
Note
Cet exemple doit fonctionner avec Windows, Linux et macOS, mais n’a été testé que sur Windows.
Prerequisites
Avant d’exécuter cet exemple, vous devez lire ces articles qui expliquent les concepts et les modèles utilisés par ces exemples :
- Démarrage rapide : API Web avec PowerShell et Visual Studio Code
- Utiliser PowerShell et Visual Studio Code avec l’API Web Dataverse
Ces articles ont les mêmes conditions préalables.
Installer ou vérifier que les éléments suivants sont installés
Installez Visual Studio Code. Voir Télécharger Visual Studio Code
Installez l’extension PowerShell pour Visual Studio Code. Voir PowerShell pour Visual Studio Code
Installez PowerShell 7.4 ou version ultérieure. Voir Installer PowerShell sur Windows, Linux et macOS
Installez le module Az PowerShell version 11.1.0 ou ultérieure. Voir Procédure d’installation d’Azure PowerShell
Pour mettre à jour une installation existante vers la dernière version, utilisez
Update-Module -Name Az -Force
Vérifier l’installation
Ouvrez Visual Studio Code.
Dans le menu Terminal, sélectionnez Nouveau terminal.
Dans le volet de navigation de Visual Studio Code, sélectionnez l’icône
de l’extension PowerShell.Copiez et collez le script suivant dans la fenêtre de terminal Visual Studio Code :
Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString() Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).VersionAppuyez sur Entrée. La sortie doit ressembler à ce qui suit :
PowerShell Version: 7.4.0 PowerShell Az version: 11.1.0
Si vous ne voyez pas les résultats comme celui-ci, installez ou mettez à jour les prérequis.
Vous aurez également besoin de
- Un compte d’utilisateur valide pour un environnement Dataverse
- URL de l’environnement Dataverse auquel vous souhaitez vous connecter. Consultez Afficher les ressources du développeur pour découvrir comment le trouver. Il semble quelque chose comme ceci :
https://yourorg.crm.dynamics.com/, oùyourorg.crmest différent. - Compréhension de base du langage de script PowerShell
Comment exécuter cet exemple
Clonez ou téléchargez le référentiel PowerApps-Samples .
Ouvrir le fichier à l’aide
ConditionalOperations.ps1de Visual Studio CodeModifiez cette ligne pour utiliser l’URL de l’environnement auquel vous souhaitez vous connecter :
Connect 'https://yourorg.crm.dynamics.com/' # change this(Facultatif) Définissez la
$deleteCreatedRecordsvariable$falsesi vous ne souhaitez pas supprimer les enregistrements créés par cet exemple.Appuyez sur F5 pour exécuter l’exemple.
La première fois que vous exécutez l’exemple, une fenêtre de navigateur s’ouvre. Dans la fenêtre du navigateur, entrez ou sélectionnez les informations d’identification que vous souhaitez utiliser pour vous authentifier.
Pour vous connecter en tant qu’utilisateur différent, exécutez la commandeDisconnect-AzAccount et réessayez.
Code
Le code de cet exemple se trouve à : PowerApps-Samples/dataverse/webapi/PS/ConditionalOperations/ConditionalOperations.ps1
Montre ce qui suit
Cet exemple comprend quatre régions :
Section 0 : Créer des exemples d’enregistrements
Opérations : créez un enregistrement de compte et récupérez-le pour capturer la valeur ETag initiale.
Section 1 : GET conditionnel
Opérations:
- Essayez de récupérer le compte à l'aide de l'en-tête
If-None-Matchavec la valeur ETag initiale, démontrant qu'une réponse304 NotModifiedest renvoyée lorsque les données n'ont pas changé. - Mettez à jour le numéro de téléphone du compte.
- Essayez de récupérer à nouveau le compte en utilisant l’en-tête
If-None-Matchavec la valeur ETag initiale, démontrant que l'enregistrement complet est renvoyé car il a été modifié.
Section 2 : Accès concurrentiel optimiste sur la suppression et la mise à jour
Opérations:
- Essayez de supprimer le compte en utilisant l'en-tête
If-Matchavec la valeur ETag initiale, afin de démontrer qu'une erreur412 PreconditionFailedest retournée lorsque l'ETag ne correspond pas. - Essayez de mettre à jour le compte à l’aide de
If-Matchl’en-tête avec la valeur ETag initiale, pour montrer qu’une erreur412 PreconditionFailedest retournée lorsque l’ETag ne correspond pas. - Mettez à jour le compte à l’aide
If-Matchde l’en-tête avec la valeur ETag actuelle, ce qui montre que la mise à jour réussit lorsque l’ETag correspond. - Récupérez le compte pour confirmer la mise à jour.
Section 3 : Supprimer des exemples d’enregistrements
Opérations : une référence à chaque enregistrement créé dans cet exemple a été ajoutée à une liste lors de sa création. Cette section effectue une boucle dans cette liste et supprime chaque enregistrement.
Nettoyage
Par défaut, cet exemple supprime tous les enregistrements créés dans celui-ci. Si vous souhaitez afficher les enregistrements créés une fois l’exemple terminé, modifiez la deleteCreatedRecords variable false et vous serez invité à décider si vous souhaitez supprimer les enregistrements.
Voir aussi
Utiliser l’API web Dataverse
Effectuer les opérations conditionnelles à l’aide de l’API Web
Démarrage rapide : API Web avec PowerShell et Visual Studio Code
Utiliser PowerShell et Visual Studio Code avec l’API Web Dataverse
Exemples d’API web
Exemple d’opérations conditionnelles de l’API Web
Exemple d’opérations conditionnelles de l’API Web (C#)
Exemple d′opérations conditionnelles de l′API Web (Javascript côté client)