Partager via


Exemple de données de requête d’API web (PowerShell)

Cet exemple PowerShell version 7.4.0 montre comment effectuer différentes opérations de requête sur les lignes de table Microsoft Dataverse à l’aide de l’API Web Dataverse. Cet exemple implémente les opérations Dataverse et la sortie de la console détaillées dans l’exemple de données de requête d’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 :

Ces articles ont les mêmes conditions préalables.

Installer ou vérifier que les éléments suivants sont installés

Vérifier l’installation

  1. Ouvrez Visual Studio Code.

  2. Dans le menu Terminal, sélectionnez Nouveau terminal.

  3. Dans le volet de navigation de Visual Studio Code, sélectionnez l’icône de l’extension PowerShell.

  4. 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).Version
    
  5. Appuyez 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.crm est différent.
  • Compréhension de base du langage de script PowerShell

Comment exécuter cet exemple

  1. Clonez ou téléchargez le référentiel PowerApps-Samples .

  2. Ouvrir le fichier à l’aide QueryData.ps1 de Visual Studio Code

  3. Modifiez cette ligne pour utiliser l’URL de l’environnement auquel vous souhaitez vous connecter :

    Connect 'https://yourorg.crm.dynamics.com/' # change this

  4. (Facultatif) Définissez la $deleteCreatedRecords variable $false si vous ne souhaitez pas supprimer les enregistrements créés par cet exemple.

  5. Appuyez sur F5 pour exécuter l’exemple.

  6. 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/QueryData/QueryData.ps1

Montre ce qui suit

Cet exemple comporte 11 régions :

Section 0 : Créer des enregistrements à interroger

Opérations : créez un enregistrement de compte avec des enregistrements de contacts associés, et chaque contact possède des enregistrements de tâches associés. Il s’agit de l’exemple de données utilisé tout au long de la démonstration.

Section 1 : Sélection de propriétés spécifiques

Opérations:

  • Utilisez l’option $select de requête système pour récupérer des propriétés spécifiques.
  • Incluez l’en-tête Prefer: odata.include-annotations="*" pour obtenir des valeurs mises en forme.

Section 2 : Utilisation des fonctions de requête

Opérations:

  • Utilisez des fonctions de requête standard telles que contains, endswithet startswith pour filtrer les résultats.
  • Utilisez des fonctions de requête spécifiques à Dataverse telles que LastXHours, , Last7DaysToday, Between, et In.
  • Utilisez des opérateurs de filtre et des opérateurs logiques (eq, , negt, and, or).
  • Définissez la priorité à l’aide de parenthèses dans les expressions de filtre.

Section 3 : Classement et alias

Opérations:

  • Permet $orderby de trier les résultats de la requête.
  • Utilisez des alias paramétrables avec $filter et $orderby pour simplifier les requêtes.

Section 4 : Limiter et compter les résultats

Opérations:

  • Permet $top de limiter le nombre de résultats retournés.
  • Permet $count d’obtenir le nombre total d’enregistrements correspondant à la requête.

Section 5 : Pagination

Opérations:

  • Utilisez l’en-tête de requête Prefer: odata.maxpagesize pour contrôler la taille de page.
  • Utilisez l’annotation @odata.nextLink pour récupérer les pages de résultats suivantes.

Section 6 : Développement des résultats

Opérations:

  • Utiliser $expand avec des propriétés de navigation à valeur unique pour inclure des enregistrements connexes.
  • Utiliser $expand avec les propriétés de navigation à valeur de collection.
  • Utiliser $expand avec plusieurs propriétés de navigation dans une seule requête.
  • Utilisez des $expand imbriqués pour récupérer les plusieurs niveaux d’enregistrements associés.

Section 7 : Agréger les résultats

Opérations : utilisez $apply=aggregate des fonctions telles que average, sum, minet max pour calculer des valeurs d’agrégation.

Section 8 : Requêtes FetchXML

Opérations:

  • Envoyer des requêtes à l’aide de FetchXML avec le fetchXml paramètre de chaîne de requête.
  • Utilisez la pagination avec FetchXML en utilisant les attributs page et count.

Section 9 : Utilisation de requêtes prédéfinies

Opérations:

  • Exécutez une requête enregistrée (vue système) à l’aide du savedQuery paramètre.
  • Exécutez une requête utilisateur (vue enregistrée) à l’aide du userQuery paramètre.

Section 10 : 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
Interroger les données à 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
Exemples de données de requête d′API Web
Exemples de données de requête d’API web (C#)
Exemple de données de requête de l’API Web (Javascript côté client)