Partager via


Se connecter à Microsoft Dataverse à partir de flux de travail dans Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Important

Le 30 août 2022, les opérations du connecteur pour Common Data Service 2.0, également connu sous le nom de Microsoft Dataverse (Legacy), ont migré vers le connecteur Microsoft Dataverse actuel. Les opérations héritées portent l’étiquette « legacy », tandis que les opérations actuelles portent l’étiquette « preview ». Vous pouvez utiliser le connecteur Dataverse actuel dans n’importe quels workflows d’application logique existant ou nouveau. Pour la compatibilité descendante, les workflows existants continuent de fonctionner avec le connecteur Dataverse hérité. Toutefois, veillez à passer en revue ces workflows et à les mettre à jour rapidement.

Depuis octobre 2023, l'ancienne version n'est plus disponible pour les nouveaux workflows. Les workflows persistants existants de fonctionner, mais vous devez utiliser les opérations actuelles du connecteur Dataverse pour les nouveaux workflows. Un calendrier pour la date d’arrêt des actions et déclencheurs existants sera annoncé. Pour plus d’informations, consultez Le connecteur Microsoft Dataverse (hérité) pour Azure Logic Apps sera obsolète et remplacé par un autre connecteur.

Pour créer et exécuter des flux de travail automatisés qui créent et gèrent des lignes dans votre base de données Microsoft Dataverse, vous pouvez utiliser Azure Logic Apps et le connecteur Microsoft Dataverse. Ces workflows peuvent créer des lignes, mettre à jour des lignes et exécuter d’autres opérations. Vous pouvez également obtenir des informations à partir de votre base de données Dataverse et rendre la sortie disponible pour d’autres actions à utiliser dans vos workflows. Par exemple, lorsqu’une ligne est ajoutée, mise à jour ou supprimée dans votre base de données Dataverse, vous pouvez envoyer un e-mail à l’aide du connecteur Office 365 Outlook.

Ce guide montre comment créer un flux de travail qui crée une ligne de tâches chaque fois qu'une nouvelle ligne de prospects est créée.

Référence sur les connecteurs

Pour obtenir des informations techniques basées sur la description Swagger du connecteur, telles que les opérations, les limites et d'autres détails, consultez la page de référence du connecteur géré.

Prérequis

Ajout d’un déclencheur Dataverse

Lorsque vous ajoutez un déclencheur ou une action qui se connecte à un service ou à un système et que vous n’avez pas de connexion existante ou active, Azure Logic Apps vous invite à fournir les informations de connexion, qui varient selon le type de connexion, par exemple :

  • Vos informations d’identification de votre compte
  • Un nom à utiliser pour la connexion
  • Le nom pour le serveur ou le système
  • Type d’authentification à utiliser
  • Une chaîne de connexion

Cet exemple utilise le déclencheur Dataverse qui démarre votre workflow lorsqu’une ligne est ajoutée, mise à jour ou supprimée.

Remarque

Le connecteur Dataverse possède des paramètres spécifiques à l’opération et des paramètres spécifiques à la base de données. Par exemple, lorsque vous sélectionnez une table, les paramètres disponibles pour cette table varient et diffèrent d’autres tables.

  1. Dans le portail Microsoft Azure, ouvrez votre ressource d’application logique Standard et votre flux de travail vide dans le concepteur.

  2. Sur le concepteur, suivez ces étapes générales pour ajouter le déclencheur Microsoft Dataverse nommé Lorsqu'une ligne est ajoutée, modifiée ou supprimée.

  3. Si vous y êtes invité, connectez-vous à votre environnement ou base de données Dataverse.

  4. Dans la zone d’informations du déclencheur, fournissez les valeurs nécessaires.

    Pour l'exemple de déclencheur, consultez Lorsqu'une ligne est ajoutée, modifiée ou supprimée.

    Screenshot shows Standard workflow designer and example trigger.

  5. Quand vous avez terminé, enregistrez votre workflow d’application logique. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

  6. Ajoutez maintenant au moins une action pour votre workflow à effectuer lorsque le déclencheur se met en action. Par exemple, vous pouvez ajouter une action Dataverse ou une action qui envoie des e-mails en fonction des sorties du déclencheur.

Ajout d’une action Dataverse

Lorsque vous ajoutez un déclencheur ou une action qui se connecte à un service ou à un système et que vous n’avez pas de connexion existante ou active, Azure Logic Apps vous invite à fournir les informations de connexion, qui varient selon le type de connexion, par exemple :

  • Vos informations d’identification de votre compte
  • Un nom à utiliser pour la connexion
  • Le nom pour le serveur ou le système
  • Type d’authentification à utiliser
  • Une chaîne de connexion

Cet exemple utilise l’action Dataverse qui ajoute une nouvelle ligne à votre base de données.

Remarque

Le connecteur Dataverse possède des paramètres spécifiques à l’opération et des paramètres spécifiques à la base de données. Par exemple, lorsque vous sélectionnez une table, les paramètres disponibles pour cette table varient et diffèrent d’autres tables.

  1. Sur le portail Azure, ouvrez votre application logique Standard et votre flux de travail dans le concepteur.

  2. Sur le concepteur, suivez ces étapes générales pour ajouter l'action Microsoft Dataverse nommée Ajouter une nouvelle ligne.

  3. Si vous y êtes invité, connectez-vous à votre environnement ou base de données Dataverse.

  4. Dans la zone d’informations sur l’action, fournissez les valeurs nécessaires.

    Pour obtenir un exemple d'action, consultez Ajouter une nouvelle ligne.

    Screenshot shows Standard workflow designer and example action.

  5. Quand vous avez terminé, enregistrez votre workflow d’application logique. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

  6. Continuez à ajouter d’autres actions, si vous le souhaitez.

Tester votre workflow

Pour exécuter et déclencher le workflow, procédez comme suit :

  1. Dans le menu du flux de travail, sélectionnez Vue d’ensemble.

  2. Dans la barre d’outils Vue d’ensemble, sélectionnez Exécuter >Exécuter.

  3. Reproduisez les conditions requises par le déclencheur pour que workflow s’exécute.

Retourner des lignes en fonction d’un filtre

Pour les actions qui retournent des lignes, telles que l’action Liste des lignes, vous pouvez utiliser une requête ODATA qui retourne des lignes en fonction du filtre spécifié. Par exemple, vous pouvez configurer l’action pour renvoyer uniquement des lignes pour les comptes actifs. Pour plus d’informations sur l’exemple d’action, consultez Liste des lignes.

  1. Sur le concepteur, dans l'action, ouvrez la liste Paramètres avancés et sélectionnez la propriété Filtrer les lignes.

    Screenshot shows Standard workflow and property named Filter rows.

  2. Dans la propriété Filtrer les lignes qui apparaît désormais dans l'action, saisissez une expression de requête ODATA, par exemple :

    statuscode eq 1

    Screenshot shows Standard workflow and property named Filter rows with ODATA query.

Pour plus d'informations sur les options de requête système $filter, consultez Interroger des données à l'aide de l'API Web - Filtrer les résultats.

Retourner des lignes en fonction d’un ordre de tri

Pour les actions qui retournent des lignes, telles que l’action Liste des lignes, vous pouvez utiliser une requête ODATA qui retourne les lignes dans un ordre spécifié, qui varie en fonction des lignes renvoyées par l’action. Par exemple, vous pouvez configurer l’action pour retourner des lignes organisées par le nom du compte. Pour plus d’informations sur l’exemple d’action, consultez Liste des lignes.

  1. Sur le concepteur, dans l'action, ouvrez la liste Paramètres avancés et sélectionnez la propriété Trier par.

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property.

  2. Dans la propriété Trier par qui apparaît maintenant dans l’action, entrez le nom de colonne à utiliser pour le tri, par exemple nom:

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property with column name.

Pour plus d'informations sur les options de requête système $orderby, consultez Interroger des données à l'aide de l'API Web - Trier par.

Types de données de champ

Dans un déclencheur ou une action, le type de données d’une valeur de champ doit correspondre au type de données requis du champ. Cette exigence s’applique si vous entrez manuellement la valeur ou sélectionnez la valeur dans la liste de contenu dynamique.

Remarque

Le connecteur Dataverse possède des paramètres spécifiques à l’opération et des paramètres spécifiques à la base de données. Par exemple, lorsque vous sélectionnez une table, les paramètres disponibles pour cette table varient et diffèrent d’autres tables.

Par exemple, supposons que vous ayez une table nommée Tâches .: Cette table comporte des champs qui s’appliquent uniquement à cette table, tandis que d’autres tables ont leurs propres champs. Pour l’exemple de table Tâches, le tableau suivant décrit certains exemples de types de champs et les types de données dont ces champs ont besoin pour leurs valeurs.

Champ Type de données Description
Text field Une seule ligne de texte Requiert une seule ligne de texte ou du contenu dynamique qui a le type de données texte, par exemple, les propriétés suivantes :

- Description
- Catégorie
Champ entier Nombre entier Requiert un entier ou un contenu dynamique qui a le type de données Entier, par exemple, les propriétés suivantes :

- Pourcentage effectué
- Durée
Champ Date Date et heure Requiert une date au format MM/JJ/YYY ou un contenu dynamique qui a le type de données date, par exemple, les propriétés suivantes :

- Création le
- Date de début
- Début réel
- Fin réelle
- Due Date
Champ qui fait référence à une autre ligne d’entité Clé primaire Nécessite à la fois un ID de ligne, tel qu’un GUID, et un type de recherche, ce qui signifie que les valeurs de la liste de contenu dynamique ne fonctionneront pas, par exemple, les propriétés suivantes :

- Propriétaire : Doit être un ID d’utilisateur valide ou un ID de ligne d’équipe.
- Type de propriétaire : Doit être un type de recherche, par exemple systemusers ou teams, respectivement.

- Concernant : Doit être un ID de ligne valide, tel qu’un ID de compte ou un ID de ligne de contact.
- Concernant le type : Doit être un type de recherche, par exemple accounts ou contacts, respectivement.

- Client : Doit être un ID de ligne valide, tel qu’un ID de compte ou un ID de ligne de contact.
- Type de client : Doit être le type de recherche, par exemple accounts ou contacts, respectivement.

Pour l’exemple de table Tâches, supposons que vous utilisez l’action Ajouter une nouvelle ligne pour créer une ligne associée à d’autres lignes d’entité, en particulier une ligne d’utilisateur et une ligne de compte. Aussi, dans cette action, vous devez spécifier les ID et les types de recherche pour ces lignes d’entité en utilisant des valeurs qui correspondent aux types de données attendus pour les propriétés pertinentes.

  • Sur la base de la propriété Propriétaire, qui spécifie un ID d’utilisateur et la propriété Type de propriétaire, qui spécifie le type de recherche systemusers, l’action associe la nouvelle ligne à un utilisateur spécifique.

  • Sur la base de la propriété Concernant, qui spécifie un ID de ligne, et de la propriété Concernant le type, qui spécifie le type de recherche accounts, l’action associe la nouvelle ligne à un compte spécifique.

Résolution des problèmes

Appels à partir de plusieurs environnements

Le connecteur Dataverse stocke des informations sur les workflows d’application logique qui obtiennent et nécessitent des notifications sur les modifications d’entité de base de données à l’aide de l’entité callbackregistrations dans votre base de données Dataverse. Si vous copiez une organisation Dataverse, tous les Webhooks sont également copiés. Si vous copiez votre organisation avant de désactiver les workflows mappés à celle-ci, les Webhooks copiés pointent également vers les mêmes workflows d’applications logiques, qui reçoivent alors des notifications provenant de plusieurs organisations.

Pour arrêter les notifications indésirables, supprimez l’entité callbackregistrations de l’organisation qui envoie ces notifications en procédant comme suit :

  1. Identifiez l’organisation Dataverse à partir de laquelle vous souhaitez supprimer des notifications, puis connectez-vous à cette organisation.

  2. Dans le navigateur Chrome, recherchez l’inscription de rappel que vous souhaitez supprimer.

    1. Passez en revue la liste générique de toutes les inscriptions de rappel au niveau de l’URI OData suivant, afin d’afficher les données à l’intérieur de l’entité callbackregistrations :

      https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations :

      Remarque

      Si aucune valeur n’est retournée, vous n’êtes peut-être pas autorisé à afficher ce type d’entité, ou vous n’êtes peut-être pas connecté à l’organisation appropriée.

    2. Filtrez selon le nom logique de l’entité de déclenchement entityname et l’événement de notification qui correspond au workflow de votre application logique (message). Chaque type d’événement est mappé à l’entier du message, comme suit :

      Type d'événement Entier du message
      Créer 1
      Supprimer 2
      Mettre à jour 3
      CreateOrUpdate 4
      CreateOrDelete 5
      UpdateOrDelete 6
      CreateOrUpdateOrDelete 7

      L’exemple suivant montre comment filtrer les notifications Create selon une entité nommée nov_validation, en utilisant l’URI OData suivant pour un exemple d’organisation :

      https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1

      Screenshot shows browser window and OData URI in address bar.

      Remarque

      Si plusieurs déclencheurs existent pour la même entité ou le même événement, vous pouvez filtrer la liste à l’aide de filtres supplémentaires, par exemple attributs createdon et _owninguser_value. Le nom de l’utilisateur propriétaire s’affiche sous /api/data/v9.0/systemusers({id}).

    3. Après avoir trouvé l’ID de l’inscription de rappel que vous souhaitez supprimer, procédez comme suit :

      1. Dans votre navigateur Chrome, ouvrez les Outils de développement Chrome (Clavier : F12).

      2. En haut de la fenêtre, sélectionnez l’onglet Console.

      3. Dans l’invite de ligne de commande, entrez la commande suivante, qui envoie une demande de suppression de l’inscription de rappel spécifiée :

        fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})

        Important

        Veillez à effectuer la demande à partir d’une page de l’interface client non unifiée (UCI), par exemple à partir de la page de réponse OData ou API elle-même. Sinon, la logique dans le fichier app.js risque d’interférer avec cette opération.

    4. Pour confirmer que l’inscription de rappel n’existe plus, consultez la liste des inscriptions de rappel.

Entité « callbackregistrations » en double

Dans les workflows d'application logique Standard, dans des conditions spécifiques telles que la réallocation d'instance ou le redémarrage d'application, le déclencheur Microsoft Dataverse démarre une exécution en double, qui crée une entité callbackregistrations en double dans votre base de données Dataverse. Si vous modifiez un workflow Standard qui démarre par un déclencheur Dataverse, vérifiez si cette entité callbackregistrations est dupliquée. Si le doublon existe, supprimez manuellement l'entité callbackregistrations en double.

Étapes suivantes