Partager via


Utiliser des listes de lignes dans les flux

Utilisez l’action Lister les lignes pour récupérer plusieurs lignes à la fois de Microsoft Dataverse avec une requête structurée.

Obtenir une liste de lignes

Suivez ces étapes pour ajouter l’action Lister les lignes à votre flux pour renvoyer jusqu’à 5 000 comptes de la table Comptes dans Dataverse.

Note

Power Automate utilise le concepteur de flux de cloud classique ou le concepteur de flux de cloud avec Copilot. Pour identifier le concepteur que vous utilisez, accédez à la section Note dans Comprendre le nouveau concepteur de flux de cloud avec les fonctionnalités de copilote.

  1. Sélectionnez Nouvelle étape pour ajouter une action à votre flux.
  2. Entrez Lister les lignes dans la zone de recherche Rechercher parmi les connecteurs et les actions de la carte Choisir une opération.
  3. Sélectionnez Microsoft Dataverse pour filtrer les résultats de la recherche afin d’afficher uniquement les actions et les déclencheurs pour Microsoft Dataverse.
  4. Sélectionnez Lister les lignes.
  5. Sélectionnez la table Comptes dans la liste Nom de la table.
  6. Enregistrez et exécutez votre flux pour confirmer qu’il n’y a pas plus de 5 000 lignes renvoyées.

Activer la pagination pour demander plus de 5 000 lignes

Pour obtenir automatiquement plus de 5 000 lignes d’une requête, activez la fonctionnalité Pagination dans les Paramètres.

Lorsque la pagination est définie et que le nombre de lignes dépasse le nombre du seuil configuré, la réponse n’inclura pas le paramètre @odata.nextLink pour demander l’ensemble de lignes suivant. Désactivez la pagination pour que la réponse inclut le paramètre @odata.nextLink qui peut être utilisé pour demander l’ensemble de lignes suivant. Accédez à Ignorer le jeton pour savoir comment l’utiliser.

Des limites de débit de contenu et des limites de taille de message s’appliquent pour observer les garanties générales de service.

  1. Dans l’angle supérieur droit de la carte Répertorier les lignes, sélectionnez le menu (...).

  2. Sélectionnez Paramètres.

  3. Déplacez le curseur Pagination vers la position Activé si ce n’est pas déjà fait.

  4. Dans Seuil, saisissez le nombre maximal de lignes demandées. Le seuil maximal configurable est de 100 000.

    En interne, ce nombre est arrondi par incréments de la taille de page par défaut. Par exemple, si cette taille de page est de 5 000 et que vous entrez 7 000, le nombre de lignes renvoyées est de 10 000.

Options avancées

Les options avancées pour l’action Lister les lignes permettent de trier, filtrer, organiser et étendre les résultats d’une requête.

Vous pouvez définir les options avancées directement sur la carte Lister les lignes. Pour voir les options, sélectionnez Afficher les options avancées. Lorsque vous le sélectionnez, le nom devient Masquer les options avancées.

Capture d’écran des options avancées dans la carte Lister les lignes.

Sélectionner des colonnes

Saisissez une liste de colonnes séparées par des virgules à renvoyer, telles que « nom,datedecréation,codedeméthodedecontactpréférée,adressecourrier électronique1,téléphone1 » pour la table Compte.

Lignes de filtre

À utiliser pour définir une expression de filtre de style OData pour affiner l’ensemble de lignes renvoyé par Dataverse, comme « createdon ge 2021-01-01T00:00:00-00:00 » pour les lignes avec createdon supérieur ou égal à l’année 2021.

Découvrez comment utiliser les opérateurs de filtre standard et les fonctions de requête pour construire des expressions de Requête de filtre.

Certains caractères, tels que &, # et + doivent être remplacés par leur équivalent codé en URL. Plus d’informations : Encoder l’URL des caractères spéciaux

Important

Les expressions de filtre ne peuvent pas contenir cette chaîne, $filter=, car elle ne s’applique que lorsque vous utilisez directement les API.

Trier par

À utiliser pour définir une expression de style OData qui définit l’ordre dans lequel les éléments sont renvoyés, par exemple « nom desc ». Utilisez le suffixe asc ou desc pour spécifier l’ordre croissant ou décroissant, respectivement. L’ordre par défaut est croissant.

Requête étendue

Utilisez cette option pour spécifier une expression de style OData qui définit les données renvoyées par Dataverse à partir des tables associées, telles que primarycontactid($select=contactid,fullname), pour utiliser le primarycontactid du compte pour récupérer la colonne fullname du contact associé avec l’ID contactid dans la réponse.

Il existe deux types de propriétés de navigation que vous pouvez utiliser dans une Requête étendue :

  1. Les propriétés de navigation à valeur unique correspondent aux colonnes de recherche qui prennent en charge les relations plusieurs-à-un et vous permettent de définir une référence à une autre table.

  2. Les propriétés de navigation avec une valeur de collection correspondent aux relations un-à-plusieurs ou plusieurs-à-plusieurs.

Si vous incluez uniquement le nom de la propriété de navigation, vous recevrez toutes les propriétés des lignes associées. Pour en savoir plus, consultez Récupérer les lignes de tables associées avec une requête.

Pour l’utiliser dans une étape de flux, entrez cette expression Odata dans le champ Étendre la requête : primarycontactid(contactid,fullname). Cet exemple montre comment obtenir les colonnes contactid et fullname pour le primarycontactid de chaque compte.

Nombre de lignes

À utiliser pour indiquer le nombre spécifique de lignes renvoyées par Dataverse. Voici un exemple qui montre comment demander 10 lignes.

Récupérer la requête XML

Les requêtes d’agrégation ne sont pas actuellement prises en charge lors de l’utilisation de l’action Répertorier les lignes avec les requêtes FetchXML. Cependant, l’opérateur distinct est pris en charge.

Utilisez une requête FetchXML de style Dataverse, qui offre davantage de flexibilité dans la création de requêtes personnalisées. Ces requêtes peuvent être utiles lorsque vous travaillez avec une table qui a plusieurs tables liées ou que vous gérez la pagination. La capture d’écran suivante montre comment utiliser FetchXML.

Tapez ce qui suit dans le champ Récupérer la requête XML.

Exemple d’action Répertorier les comptes avec FetchXML.

Comme l’opérateur distinct n’est pas actuellement pris en charge directement dans les requêtes FetchXML à partir de l’action Répertorier les lignes, la fonction union peut être utilisée pour supprimer les lignes en double. Par exemple, vous pouvez utiliser l’action Sélectionner pour transformer la réponse de la connexion Lignes de liste au format de tableau spécifique dont vous avez besoin, puis créez une variable avec l’expression union(body(‘Select’),body(‘Select’)) pour obtenir un tableau avec des lignes distinctes.

Jeton d’évitement ($skiptoken)

Parce que Power Automate applique des limites de débit de contenu et des limites de taille des messages pour respecter les garanties générales de service, il est souvent utile d’utiliser la pagination pour renvoyer un plus petit nombre de lignes dans un lot, plutôt que les limites sur le nombre de lignes de tables renvoyées par défaut.

La limite de pages par défaut de 5 000 lignes s’applique si vous n’utilisez pas la pagination.

Pour l’utiliser, implémentez une boucle pour analyser la valeur @odata.nextLink dans la réponse JSON, extrayez le jeton d’évitement, puis envoyez une autre requête jusqu’à avoir répertorié le nombre de lignes dont vous avez besoin.

HTTP/1.1 200 OK  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0  
Content-Length: 402  
Preference-Applied: odata.maxpagesize=3  
  
{  
   "@odata.context":"[Organization URI]/api/data/v9.1/$metadata#accounts(name)",
   "value":[  
      {  
         "@odata.etag":"W/\"437194\"",
         "name":"Fourth Coffee (sample)",
         "accountid":"7d51925c-cde2-e411-80db-00155d2a68cb"
      },
      {  
         "@odata.etag":"W/\"437195\"",
         "name":"Litware, Inc. (sample)",
         "accountid":"7f51925c-cde2-e411-80db-00155d2a68cb"
      },
      {  
         "@odata.etag":"W/\"468026\"",
         "name":"Adventure Works (sample)",
         "accountid":"8151925c-cde2-e411-80db-00155d2a68cb"
      }
   ],
   "@odata.nextLink":"[Organization URI]/api/data/v9.1/accounts?$select=name&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b8151925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520first%253d%2522%257b7D51925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20/%3E"
}

ID de partition

Option permettant de spécifier l’ID de partition (partitionId) lors de la récupération des données pour les tables NoSQL. Pour en savoir plus, consultez Améliorer les performances à l’aide de partitions de stockage lors de l’accès aux données de la table.