Filtrer et copier des données avec Power Automate
Ce didacticiel montre comment créer un flux de cloud qui surveille une source afin de détecter l’ajout ou la modification d’éléments, puis copie ces changements vers une destination. Vous pouvez créer un tel flux de cloud si vos utilisateurs entrent des données dans un emplacement, alors que votre équipe doit pouvoir y accéder ailleurs ou dans un autre format.
Si ce didacticiel copie des données d’une liste Microsoft SharePoint (source) vers une table Azure SQL Database (destination), vous pouvez copier des données entre les plus de 900 connecteurs que Power Automate prend en charge.
Conseil
Pour obtenir des informations détaillées sur l’utilisation de SharePoint avec Power Automate, consultez la documentation SharePoint.
Accès à une source et à une destination de données. Ce didacticiel n’inclut pas les étapes de création de la source et de la destination.
Accédez à Power Automate.
Compréhension élémentaire de la façon dont vos données sont stockées.
Bonne maîtrise des principes fondamentaux de la création de flux. Nous vous invitons à réviser la manière d’ajouter des actions, des déclencheurs et des conditions. Les étapes suivantes supposent que vous savez comment effectuer ces actions.
Conseil
Chaque nom de colonne dans la source et la destination n’a pas besoin de correspondre. Cependant, vous devez fournir des données pour toutes les colonnes obligatoires lorsque vous insérez ou mettez à jour un élément. Power Automate identifie les champs obligatoires pour vous.
Si vous connaissez bien Power Automate, utilisez ces étapes rapides pour copier des données d’une source de données vers une autre.
Important
Les modifications que vous apportez à la destination ne sont pas recopiées vers la source, car les synchronisations bidirectionnelles ne sont pas prises en charge. Si vous tentez de configurer une synchronisation bidirectionnelle, vous créez une boucle infinie dans laquelle les modifications sont échangées indéfiniment entre la source et la destination.
Identifiez la source à surveiller et la destination vers laquelle copier les données modifiées. Vérifiez que vous avez accès aux deux.
Repérez au moins une colonne identifiant de façon unique les éléments dans la source et la destination. Dans l’exemple qui suit, nous utilisons la colonne Titre, mais vous pouvez utiliser les colonnes de votre choix.
Configurez un déclencheur qui surveille les modifications apportées à la source.
Recherchez dans la destination pour déterminer si l’élément modifié s’y trouve.
Utilisez une Condition telle que celles-ci :
- Si l’élément nouveau ou modifié n’existe pas dans la destination, le créer.
- Si l’élément nouveau ou modifié existe dans la destination, mettez-le à jour.
Déclenchez votre flux, puis vérifiez que les éléments nouveaux ou modifiés sont copiés de la source vers la destination.
Si vous n’avez encore jamais créé de connexion à SharePoint ou Azure SQL Database, suivez les instructions fournies quand vous êtes invité à vous connecter.
Voici la procédure détaillée de création du flux.
Connectez-vous à Power Automate.
Sélectionnez Mes flux>Créer entièrement.
Recherchez SharePoint> sélectionnez le déclencheur SharePoint - Lorsqu’un élément est créé ou modifié dans la liste des déclencheurs.
Entrez l’Adresse de Site, puis sélectionnez le Nom de la liste sur la carte Lorsqu’un élément est créé ou Lorsqu’un élément existant est modifié.
Sélectionnez l’Adresse du site et le Nom de la liste SharePoint dans laquelle votre flux surveille les éléments nouveaux ou mise à jour.
Utilisez l’action SQL Server - Obtenir les lignes pour rechercher la destination de l’élément nouveau ou modifié.
Sélectionnez Nouvelle étape>Ajouter une action.
Recherchez Obtenir les lignes, sélectionnez SQL Server – Obtenir les lignes, puis choisissez la table à surveiller dans la liste Nom de la table.
Sélectionnez Afficher les options avancées.
Dans le champ Requête de filtre, entrez Title eq ’, sélectionnez le jeton Titre dans la liste de contenu dynamique, puis entrez ’.
L’étape précédente suppose que vous établissiez une correspondance entre les titres des lignes dans la source et la destination.
La carte Obtenir les lignes doit à présent ressembler à la capture d’écran suivante :
Nous utilisons l’action Condition pour vérifier si l’élément nouveau ou modifié a été trouvé.
Sélectionnez Nouvelle étape>Ajouter une condition pour ouvrir la carte Condition.
Sur la carte de condition :
Activez la case à cocher à gauche.
La liste Ajoutez du contenu dynamique des applications et des connecteurs utilisés dans ce flux s’ouvre.
Sélectionnez value dans la catégorie Obtenir les lignes.
Conseil
Vérifiez que vous avez sélectionné value dans la catégorie Obtenir les lignes. Ne sélectionnez pas value dans la catégorie Lorsqu’un élément est créé ou Lorsqu’un élément existant est modifié.
Sélectionnez est égal à dans la liste de la zone centrale.
Entrez 0 (zéro) dans le champ à droite.
La carte Condition ressemble à présent à cette image :
Sélectionnez Modifier en mode Avancé.
Lorsque le mode Avancé s’ouvre, vous voyez l’expression @equals(body(’Get_rows’)?[’value’], 0) dans la zone. Modifiez cette expression en ajoutant length() à la fonction body(’Get_items’)?[’value’]. L’expression entière est à présent : @equals(length(body(’Get_rows’)?[’value’]), 0)
La carte Condition ressemble à présent à cette image :
Conseil
L’ajout de la fonction length() permet au flux de vérifier la liste value afin de déterminer si elle contient des éléments.
Quand votre flux obtient les éléments de la destination, deux résultats sont possibles :
Résultat | Étape suivante |
---|---|
L’élément existe | Mettre à jour l’élément |
L’élément n’existe pas | Créer un article |
Notes
Les images des cartes Insérer une ligne et Mettre à jour la ligne présentées ci-après peuvent différer des vôtres, car elles affichent les noms des colonnes de la table Azure SQL Database utilisée dans le flux.
Si l’élément n’existe pas dans la destination, créez-le à l’aide de l’action SQL Server – Insérer une ligne.
Dans la branche Si Oui de la Condition :
Sélectionnez Ajouter une action, recherchez Insérer une ligne, puis choisissez SQL Server – Insérer une ligne.
La carte Insérer une ligne s’ouvre.
Dans la liste Nom de la table, sélectionnez la table dans laquelle insérer le nouvel élément.
La carte Insérer une ligne se développe pour afficher tous les colonnes de la table sélectionnée. Les champs assortis d’un astérisque (*) sont obligatoires et doivent être remplis pour que la ligne soit valide.
Sélectionnez chaque colonne à remplir, puis entrez les données.
Dans les colonnes, vous pouvez saisir les données manuellement, sélectionner un ou plusieurs jetons du Contenu dynamique ou entrer une combinaison de texte et de jetons.
La carte Insérer une ligne ressemble maintenant à la capture d’écran suivante :
Si l’élément existe dans la destination, mettez-le à jour avec les modifications.
Ajoutez l’action SQL Server – Mettre à jour la ligne à la branche Si Non de la Condition.
Suivez les étapes décrites dans la section Créer l’élément de ce document pour remplir les colonnes de la table.
En haut de la page, entrez un nom pour votre flux dans le champ Nom de flux, puis sélectionnez Créer un flux pour l’enregistrer.
Désormais, chaque fois qu’un élément figurant dans votre liste SharePoint (source) change, votre flux est déclenché et insère un nouvel élément ou met à jour un élément existant dans votre table Azure SQL Database (destination).
Notes
Votre flux n’est pas déclenché en cas de suppression d’un élément dans la source. Si ce scénario est important, envisagez d’ajouter une colonne distincte indiquant quand un élément n’est plus nécessaire.