Exemple d’opérations de base de l’API Web (PowerShell)
Cet exemple PowerShell version 7.4.0 montre comment effectuer des opérations de données courantes à l’aide de l’API web Dataverse et de Visual Studio Code. Cet exemple implémente les opérations Dataverse et le résultat de la console détaillé dans Exemple des opérations de base 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 du dot sourcing avec les lignes suivantes :
. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1
Notes
Cet exemple devrait fonctionner avec Windows, Linux et macOS, mais n’a été testé que sous Windows.
Conditions préalables
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 prérequis.
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 supérieure. Voir Procédure d’installation d’Azure PowerShell
Pour mettre à jour une installation existante vers la plus récente, 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 Visual Studio Code, sélectionnez l’icône pour l’extension PowerShell.
Copiez et collez le script suivant dans la fenêtre du terminal Visual Studio Code :
Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString() Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).Version
Appuyez sur Entrée. La sortie ressemblerait à l’exemple suivant :
PowerShell Version: 7.4.0 PowerShell Az version: 11.1.0
Si vous ne voyez pas de résultats comme celui-ci, installez ou mettez à jour les prérequis.
Ce dont vous avez besoin
- Compte d’utilisateur valide pour un environnement Dataverse
- URL vers l’environnement Dataverse auquel vous souhaitez vous connecter. Voir Afficher les ressources des développeurs pour savoir comment les trouver. Cela ressemble à ceci :
https://yourorg.crm.dynamics.com/
, oùyourorg.crm
est différent. - Présentation de base du langage de script PowerShell
Comment exécuter cet exemple
Clonez ou téléchargez le référentiel Exemples PowerApps.
Ouvrez le fichier
BasicOperations.ps1
en utilisant 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 variable
$deleteCreatedRecords
sur$false
si 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, saisissez 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 commande Disconnect-AzAccount et essayez à nouveau.
Code
Le code de cet exemple se trouve à : PowerApps -Samples/dataverse/webapi/PS/BasicOperations/BasicOperations.ps1
Montre ce qui suit
Cet exemple comprend cinq régions :
Section 1 : Opérations de création et de mise à jour de base
Opérations :
- Créez un enregistrement de contact.
- Mettez à jour l’enregistrement de contact.
- Récupérez l’enregistrement de contact.
- Mettez à jour une seule propriété de l’enregistrement de contact.
- Récupérez une seule propriété de l’enregistrement de contact.
Section 2 : Créer un enregistrement associé à un autre
Opérations : Associez un nouvel enregistrement à un existant.
Section 3 : Création d’enregistrements associés
Opérations : créez les entrées suivantes en une seule opération : un compte, son contact principal associé et les tâches ouvertes pour ce contact. Ces types d’entités ont les relations suivantes :
Accounts
|---[Primary] Contact (N-to-1)
|---Tasks (1-to-N)
Section 4 : Associer et dissocier des enregistrements
Opérations :
- Ajoutez un contact à la collection
contact_customer_accounts
de compte. - Supprimez un contact de la collection
contact_customer_accounts
de compte. - Associez un rôle de sécurité à un utilisateur en utilisant la collection
systemuserroles_association
. - Supprimez un rôle de sécurité pour un utilisateur en utilisant la collection
systemuserroles_association
.
Section 5 : 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 parcourt cette liste et supprime chaque enregistrement.
Nettoyer
Par défaut, cet exemple supprime tous les enregistrements qui y sont créés. Si vous souhaitez afficher les enregistrements créés une fois l’exemple terminé, remplacez la variable deleteCreatedRecords
par false
et vous serez invité à décider si vous souhaitez supprimer les enregistrements.
Voir aussi
Utiliser l’API Web Dataverse
Démarrage rapide : API web avec PowerShell et Visual Studio Code
Utiliser PowerShell et Visual Studio Code avec l’API web Dataverse
Créer une ligne de table à l’aide de l’API web
Mettre à jour et supprimer des lignes de table à l’aide de l’API web
Récupérer une ligne de table à l’aide de l’API web
Exemples d’API Web
Exemple d′opérations de base de l′API Web
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).