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.

Power Automate vous permet d’utiliser soit le nouveau concepteur, soit le concepteur classique pour configurer votre flux de cloud. Les étapes sont similaires dans les deux concepteurs. Pour obtenir plus d’informations (avec des exemples), consultez Identifier les différences entre le nouveau concepteur et le concepteur classique.

  1. Sélectionnez le signe plus (+) >Ajouter une action.
  2. Sur l’écran Ajouter une action, saisissez lister les lignes dans le champ Rechercher.
  3. Sous Microsoft Dataverse, sélectionnez Lister les lignes (version préliminaire).
  4. Dans l’onglet Paramètres à gauche, sélectionnez Comptes dans le menu déroulant Nom de la table.
  5. Fermez l’écran en sélectionnant (<<).

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 vous définissez la pagination et que le nombre de lignes dépasse le seuil que vous configurez, la réponse n’inclut pas le @odata.nextLink paramètre pour demander le jeu de lignes suivant. Désactivez la pagination afin que la réponse inclut le @odata.nextLink paramètre que vous pouvez utiliser pour demander le jeu de lignes suivant. Accédez à Skip token pour savoir comment l’utiliser.

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

  1. Sélectionnez la carte Lister les lignes.

  2. Dans le volet de gauche, sélectionnez l’onglet Paramètres>Mise en réseau.

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

  4. Dans Seuil, saisissez le nombre maximum 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 de l’action Lignes de liste vous permettent de trier, de filtrer, d’organiser et d’étendre les résultats d’une requête.

Définissez les options dans le volet de configuration d’action.

  1. Pour voir les options, sélectionnez la carte Lister les lignes.

  2. Sous l’onglet Paramètres , sélectionnez une option avancée dans le menu déroulant Paramètres avancés .

    Capture d’écran des options avancées pour l’action Lister les lignes dans le volet de configuration d’actions.

Retourner des métadonnées complètes

Ce paramètre contrôle si toutes les colonnes de la table doivent être chargées ou uniquement celles qui sont essentielles pour de meilleures performances. Si vous ne le définissez pas, l’action retourne automatiquement des métadonnées complètes si votre flux utilise du contenu dynamique ou des expressions qui en ont besoin.

Sélectionner des colonnes

Entrez une liste de colonnes séparées par des virgules à renvoyer, comme name,createdon,preferredcontactmethodcode,emailaddress1,telephone1 pour la table Account.

Filtrer les lignes

Utilisez ce champ pour définir une expression de filtre de type OData afin de restreindre l’ensemble des lignes renvoyées par Dataverse, par exemple createdon ge 2021-01-01T00:00:00-00:00 pour les lignes dont createdon est supérieur ou égal à l’année 2021.

Découvrez comment filtrer des lignes pour construire des expressionsRequête de filtre.

Remplacez certains caractères, tels que &, #et +, par leur équivalent codé en URL. Pour plus d’informations, consultez l’encodage des caractères spéciaux dans l’URL.

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

Utilisez ce champ pour définir une expression de style OData qui définit l’ordre dans lequel les éléments sont retournés, tels que name 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 ce champ pour spécifier une expression de style OData qui définit les données retournées par Dataverse à partir des tables associées, telles que primarycontactid($select=contactid,fullname) l’utilisation du primarycontactid du compte pour récupérer la colonne fullname du contact associé avec 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 Joindre des tables à l’aide de OData.

Pour l’utiliser dans une étape de flux, entrez cette expression OData dans le champ Développer 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

Utilisez le paramètre Nombre de lignes pour spécifier le nombre de lignes que Dataverse doit retourner.

Récupérer une requête XML

Actuellement, vous ne pouvez pas utiliser de requêtes d’agrégation lors de l’utilisation de l’action Liste des lignes avec des requêtes FetchXML. Vous pouvez toutefois utiliser l’opérateur distinct .

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

Important

Le paramètre de pagination ne prend pas en charge les requêtes FetchXML. Pour demander plus de 5 000 lignes, vous devez gérer la pagination directement avec la requête FetchXML .

Exemple de requête FetchXML pour la table Account :

<fetch count="10">
   <entity name="account">
      <attribute name="name" />
      <attribute name="preferredcontactmethodcode" />
      <attribute name="emailaddress1" />
      <attribute name="telephone1" />
         <link-entity name="contact" to="primarycontactid" from="contactid">
               <attribute name="fullname" />
      </link-entity>
      <filter> 
         <condition attribute="createdon" operator="ge" value="2021-01-01T00:00:00-00:00" />
      </filter>
      <order attribute="name" descending="true" />
   </entity>
</fetch>

L’opérateur distinct n’est actuellement pas pris en charge directement dans les requêtes FetchXML à partir de l’action Liste des lignes , mais vous pouvez utiliser la fonction union pour supprimer les lignes dupliquées. Par exemple, vous pouvez utiliser l’action Sélectionner pour transformer la réponse de la connexion de lignes de liste au format de tableau spécifique dont vous avez besoin, puis créer une variable avec l’expression union(body('Select'),body('Select')) pour obtenir un tableau avec des lignes distinctes.

Jeton d’évitement

Power Automate applique des limites de débit de contenu et des limites de taille de message pour garantir les garanties de service général. Pour travailler dans ces limites, utilisez la pagination pour retourner un plus petit nombre de lignes dans un lot, plutôt que les limites par défaut sur le nombre de lignes de table retournées.

Si vous n’utilisez pas de pagination, la limite de page par défaut est de 5 000 lignes.

Pour utiliser la pagination, implémentez une boucle pour analyser la \@odata.nextLink valeur dans la réponse JSON, extrayez le jeton skip, puis envoyez une autre requête jusqu’à ce que vous listez 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

Spécifiez le partitionId lors de la récupération des données des tables élastiques. Pour en savoir plus, consultez Partitionnement et mise à l’échelle horizontale pour les tables élastiques.