Partager via


Ajouter des mappages pour les transformations dans les workflows dans Azure Logic Apps

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

Les actions de workflow telles que Transform XML et Liquid nécessitent un mappage pour effectuer leurs tâches. Par exemple, l’action Transform XML nécessite un mappage pour convertir du code XML d’un format à un autre. Une carte est un document XML qui décrit comment convertir des données de XML en un autre format. Le contenu de la carte contient le schéma XML source comme entrée et un schéma XML cible en tant que sortie. Vous pouvez définir une transformation de base, par exemple, la copie d’un nom et de l’adresse d’un document vers un autre. Vous pouvez aussi créer des transformations plus complexes à l'aide des opérations de mappage prêtes à l'emploi. Vous pouvez manipuler ou contrôler des données à l’aide de différentes fonctions intégrées, telles que des manipulations de chaînes, des affectations conditionnelles, des expressions arithmétiques, des formateurs d’heure et de date, voire des constructions de boucle.

Par exemple, imaginons que vous receviez régulièrement des commandes ou des factures B2B de la part d’un client qui utilise le format de date YearMonthDay (AAAAMMJJ). Votre organisation, quant à elle, utilise le format de date MonthDayYear (MMJJAAAA). Vous pouvez définir et utiliser un mappage qui transforme le format de AAAAMMJJ au format MMJJAAAA avant d’enregistrer les détails de la commande ou de la facture dans votre base de données d’activité client.

Ce guide montre comment ajouter une carte à utiliser pour votre flux de travail. Vous pouvez ajouter des cartes à votre compte d'intégration lié ou, si vous disposez d'une application logique standard, vous pouvez ajouter des cartes directement à votre ressource d'application logique.

Prérequis

  • Un compte et un abonnement Azure. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.

  • Carte que vous souhaitez charger.

    • Les flux de travail de consommation prennent en charge les types de mappage suivants : Liquid, XSLT, XSLT 2.0, XSLT 3.0 ou HIDX.

    • Les flux de travail standard prennent en charge les types de mappage suivants : XSLT, XSLT 2.0 et XSLT 3.0.

    • Pour créer des cartes, vous pouvez utiliser l'un des outils suivants :

  • Selon que vous travaillez sur un flux de travail d’application logique Consommation ou Standard, vous aurez besoin d’une ressource de compte d’intégration. En règle générale, vous avez besoin de cette ressource lorsque vous souhaitez définir et stocker des artefacts à utiliser dans des flux de travail d’intégration d’entreprise et B2B.

    Important

    Pour opérer ensemble, votre compte d’intégration et votre ressource d’application logique doivent exister dans le même abonnement et la même région Azure.

    • Pour un flux de travail d’application logique Consommation, vous aurez besoin d’un compte d’intégration lié à votre ressource d’application logique.

    • Pour un flux de travail d’application logique standard, vous pouvez lier votre compte d’intégration à votre ressource d’application logique, charger des mappages directement vers votre ressource d’application logique, ou les deux, en fonction des scénarios suivants :

      • Si vous disposez déjà d’un compte d’intégration avec les artefacts dont vous avez besoin ou que vous souhaitez utiliser, vous pouvez lier le compte d’intégration à plusieurs ressources d’application logique Standard dans lesquelles vous souhaitez utiliser les artefacts. De cette façon, vous n’avez pas besoin de charger des mappages dans chaque application logique individuelle. Pour plus d’informations, consultez Lier votre ressource d’application logique à votre compte d’intégration.

      • Le connecteur intégré Liquid vous permet de sélectionner un mappage que vous avez précédemment chargé dans votre ressource d’application logique ou dans un compte d’intégration lié, mais pas les deux.

      Par conséquent, si vous n’avez pas ou n’avez pas besoin de compte d’intégration, vous pouvez utiliser l’option de chargement. Sinon, vous pouvez utiliser l’option de liaison. Quoi qu’il en soit, vous pouvez utiliser ces artefacts dans tous les flux de travail enfants au sein de la même ressource d’application logique.

  • Les workflows Consommation et Standard prennent en charge les mappages qui font référence à des assemblés externes, ce qui permet d’appeler directement du code .NET personnalisé à partir de mappages. Pour prendre en charge cette fonctionnalité, les workflows de consommation ont également les exigences suivantes :

    • Vous avez besoin d’un assembly 64 bits. Le service de transformation exécute un processus 64 bits, de sorte que les assemblages 32 bits ne sont pas pris en charge. Si vous disposez du code source pour un assemblage 32 bits, recompilez le code en un assemblage 64 bits. Si vous n’avez pas le code source, mais que vous avez obtenu le fichier binaire à partir d’un autre fournisseur, obtenez la version 64 bits de ce fournisseur. Par exemple, certains vendeurs fournissent des assemblages dans des packages qui ont à la fois des versions 32 bits et 64 bits. Si vous avez l’option, utilisez la version 64 bits à la place.

    • Vous devez charger l’assembly et le mappage dans une ordre spécifique dans votre compte d’intégration. Vérifiez que vous chargez d’abord votre assembly, puis chargez la carte qui fait référence à l’assembly.

    • Si la taille de votre assembly ou mappage est de 2 Mo ou moins, vous pouvez ajouter votre assembly ou mappage à votre compte d’intégration directement depuis le portail Azure.

    • Si la taille de votre assembly est supérieure à 2 Mo, mais qu’elle ne dépasse pas la taille limite des assemblys, vous avez besoin d’un compte de stockage Azure et d’un conteneur d’objets blob où vous pourrez charger votre assembly. Vous pourrez ultérieurement fournir l’emplacement de ce conteneur lorsque vous ajouterez l’assembly à votre compte d’intégration. Pour cette tâche, vous avez besoin des éléments décrits dans le tableau ci-dessous :

      Élément Description
      Compte Azure Storage Dans ce compte, créez un conteneur d’objets blob Azure pour votre assembly. Découvrez comment créer un compte de stockage.
      Conteneur d’objets blob Dans ce conteneur, vous pouvez charger votre assembly. Vous aurez également besoin de l’emplacement de l’URI de redirection de ce conteneur lorsque vous ajouterez l’assembly à votre compte d’intégration. Découvrez comment créer un conteneur d’objets blob.
      Azure Storage Explorer Cet outil facilite la gestion des comptes de stockage et des conteneurs d’objets blob. Pour utiliser l’Explorateur de Stockage, soit téléchargez et installez localement l’Explorateur de Stockage Azure. Ensuite, connectez l’Explorateur Stockage à votre compte de stockage en suivant les étapes décrites dans Prise en main de l’Explorateur Stockage. Pour plus d’informations, consultez Démarrage rapide : Créer un objet blob dans le stockage d’objets avec l’Explorateur Stockage Azure.

      Pour ajouter des mappages plus volumineux, vous pouvez utiliser l’API REST Azure Logic Apps - Mappages. Pour les workflows Standard, l’API REST Azure Logic Apps n’est pas disponible actuellement.

Limites

  • Des limites s’appliquent au nombre d’artefacts, tels que les mappages, par compte d’intégration. Pour plus d’informations, consultez Informations relatives aux limites et à la configuration pour Azure Logic Apps.

  • Selon que vous utilisez un workflow d’application logique Consommation ou Standard, les limitations suivantes s’appliquent :

    • Workflows Consommation

      • Azure Logic Apps alloue de la mémoire finie pour le traitement des transformations XML. Si vous créez des workflows Consommation et que vos transformations de mappage ou de charge utile consomment beaucoup de mémoire, ces transformations peuvent échouer et provoquer des erreurs de mémoire insuffisante. Pour éviter ce scénario, envisagez les options suivantes :

        • Modifiez vos cartes ou charges utiles pour réduire la consommation de mémoire.

        • Créer des flux de travail avec l’application logique standard qui exécutent dans les instances Azure Logic Apps mono-locataires et offrent des options dédiées et flexibles pour les ressources de calcul et de mémoire.

    • Les flux de travail Standard prennent en charge moins de types de mappages que les flux de travail Consommation, mais aucune limite ne s’applique aux tailles des fichiers de mappage. Pour plus d’informations, consultez Prérequis.

Créer des mappages

Vous pouvez créer des cartes à l’aide de Visual Studio Code avec l’extension Mappeur de données, ou de Visual Studio avec l’extension Outils Intégration Entreprise de Microsoft Azure Logic Apps.

Visual Studio Code

Lorsque vous créez des cartes à l’aide de Visual Studio Code et de l’extension Mappeur de données, vous pouvez appeler ces cartes depuis votre workflow, mais uniquement avec l’action Opérations du mappeur de données nommée Transformer en utilisant le mappeur de données XSLT, et non l’action Opérations XML nommée Transformer du XML. Pour plus d’informations, consultez Créer des cartes pour la transformation de données avec Visual Studio Code.

Visual Studio

Si vous créez des mappages avec Visual Studio, vous devez créer un projet d’intégration avec Visual Studio 2019 et l’extension Microsoft Azure Logic Apps Enterprise Integration Tools.

Dans le projet d’intégration, vous pouvez créer un fichier de mappage d’intégration qui vous permet de mapper graphiquement des éléments entre deux fichiers de schéma XML. Ces outils offrent les fonctionnalités de mappage suivantes :

  • Vous utilisez une représentation graphique du mappage, qui montre l’ensemble des relations et des liens que vous créez.

  • Vous pouvez effectuer une copie directe des données entre les schémas XML que vous utilisez pour créer le mappage. Le kit de développement logiciel (SDK) Intégration Entreprise pour Visual Studio comprend un mappeur qui rend cette tâche aussi simple que de dessiner une ligne qui connecte les éléments du schéma XML source à leurs équivalents dans le schéma XML cible.

  • Des opérations ou des fonctions de mappages multiples sont disponibles, y compris des fonctions de chaîne, des fonctions de date et d’heure, etc.

  • Pour ajouter un exemple de message XML, vous pouvez utiliser la fonctionnalité de test de mappage. En un seul geste, vous pouvez tester le mappage que vous avez créé et évaluer la sortie générée.

  • Une fois votre projet créé, vous obtenez un document XSLT.

Votre mappage doit également comporter les attributs suivants et une section CDATA contenant l’appel au code de l’assembly :

  • name est le nom d’assembly personnalisé.

  • namespace est l’espace de noms de l’assembly qui comprend le code personnalisé.

L'exemple suivant montre une carte qui fait référence à un assemblée nommé XslUtilitiesLib et appelle la méthode circumference à partir de l’assemblée.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts">
<msxsl:script language="C#" implements-prefix="user">
    <msxsl:assembly name="XsltHelperLib"/>
    <msxsl:using namespace="XsltHelpers"/>
    <![CDATA[public double circumference(int radius){ XsltHelper helper = new XsltHelper(); return helper.circumference(radius); }]]>
</msxsl:script>
<xsl:template match="data">
<circles>
    <xsl:for-each select="circle">
        <circle>
            <xsl:copy-of select="node()"/>
                <circumference>
                    <xsl:value-of select="user:circumference(radius)"/>
                </circumference>
        </circle>
    </xsl:for-each>
</circles>
</xsl:template>
</xsl:stylesheet>

Ajouter des assemblys référencés

Une ressource d’application logique de consommation prend en charge le référencement d’assemblés externes à partir de cartes, ce qui permet d’appeler directement du code .NET personnalisé à partir de cartes.

  1. Dans la zone de recherche du portail Azure, entrez comptes d’intégration, puis sélectionnez Comptes d’intégration.

  2. Sélectionnez le compte d’intégration dans lequel vous souhaitez ajouter votre assembly.

  3. Dans le menu du compte d’intégration, sélectionnez Vue d’ensemble. Sous Paramètres, sélectionnez Assemblages.

  4. Dans la barre d’outils de la page Assemblies, sélectionnez Ajouter.

En fonction de la taille de votre assembly, suivez les étapes de chargement pour les assemblys de taille inférieure ou égale à 2 Mo ou pour les assemblys dont la taille est comprise entre 2 Mo et 8 Mo. Pour connaître le nombre limite d’assemblages que peut comprendre un compte d’intégration, consultez Limites et configuration pour Azure Logic Apps.

Remarque

Si vous changez votre assembly, vous devez également mettre à jour votre mappage, qu’il comporte, ou non, des changements.

Ajouter des assemblys de taille inférieure ou égale à 2 Mo

  1. Sous Ajouter un assembly, entrez un nom pour votre assembly. L’option Fichier de petite taille doit rester cochée. À côté de la zone Assemblage, choisissez l’icône de dossier. Recherchez puis sélectionnez l’assemblage en chargement.

    Une fois l’assemblage sélectionné, la propriété Nom de l’assemblage affiche automatiquement le nom de fichier de l’assemblage.

  2. Quand vous avez terminé, sélectionnez OK.

    Une fois que le chargement de votre fichier d’assembly est terminé, l’assembly s’affiche dans la liste Assemblys. Dans la page Vue d’ensemble de votre compte d’intégration, sous Artefacts, votre assembly chargé s’affiche également.

Ajouter des assemblys de taille supérieure à 2 Mo

Pour ajouter des assemblys plus volumineux, vous pouvez charger votre assembly dans un conteneur d’objets blob Azure de votre compte de stockage Azure. Les étapes pour ajouter des assemblys varient selon que votre conteneur d’objets blob dispose, ou non, d’un accès en lecture public. Effectuez donc les étapes suivantes pour vérifier si votre conteneur d’objets blob dispose d’un accès en lecture public : Définir le niveau d’accès public pour le conteneur d’objets blob

Vérifier le niveau d’accès du conteneur
  1. Ouvrez l’Explorateur de stockage Azure. Dans la fenêtre Explorateur , développez votre abonnement Azure.

  2. Développez Comptes de Stockage><storage-account-name>>Conteneurs Blob. Sélectionnez votre conteneur blob.

  3. Dans le menu contextuel de votre conteneur d’objets blob, sélectionnez Définir le niveau d’accès public.

Charger dans les conteneurs avec accès public

Pour charger un assembly dans votre conteneur d’objets blob, procédez comme suit :

  1. Ouvrez l’Explorateur Stockage Azure, s’il n’est pas déjà ouvert. Dans la fenêtre Explorateur , développez votre abonnement Azure.

  2. Développez Comptes de Stockage><storage-account-name>>Conteneurs Blob. Sélectionnez le conteneur d’objets blob dans lequel vous souhaitez ajouter l’assembly.

  3. Dans la barre d’outils du conteneur d’objets blob, sélectionnez Charger des>fichiers. Dans la zone Charger des fichiers , recherchez et sélectionnez votre fichier d’assembly. Lorsque vous êtes prêt, sélectionnez Téléverser.

  4. Une fois le chargement terminé, ouvrez le menu contextuel de votre assembly chargé, puis sélectionnez Copier l’URL.

  5. Retournez au portail Azure où le volet Ajouter un assembly est ouvert. Entrez un nom pour votre assembly. Sélectionnez Fichier volumineux (supérieur à 2 Mo).

    La zone URI de contenu s’affiche à la place de la zone Assembly.

  6. Dans la zone URI de contenu, collez l’URL de votre assembly. Terminez l’ajout de votre assembly.

    Une fois que le chargement de votre assembly terminé, celui-ci s’affiche dans la liste Assemblys. Dans la page Vue d’ensemble de votre compte d’intégration, sous Artefacts, votre assembly chargé s’affiche également.

Charger dans les conteneurs sans accès public

Pour charger un assembly dans votre conteneur d’objets blob, procédez comme suit :

  1. Ouvrez l’Explorateur Stockage Azure, s’il n’est pas déjà ouvert. Dans la fenêtre Explorateur , développez votre abonnement Azure.

  2. Développez Comptes de Stockage><storage-account-name>>Conteneurs Blob. Sélectionnez le conteneur d’objets blob dans lequel vous souhaitez ajouter l’assembly.

  3. Dans la barre d’outils du conteneur d’objets blob, sélectionnez Charger des>fichiers. Dans la zone Charger des fichiers , recherchez et sélectionnez vos fichiers d’assembly. Lorsque vous êtes prêt, sélectionnez Téléverser.

  4. Une fois le chargement terminé, générez une signature d’accès partagé (SAP) pour votre assembly. Dans le menu contextuel de l’assembly, sélectionnez Obtenir une signature d’accès partagé.

  5. Dans la zone Signature d’accès partagé , passez en revue les options disponibles. Quand vous êtes prêt, sélectionnez Créer. Une fois que l’Explorateur Stockage génère l’URL SAP, sous la zone URL , sélectionnez Copier.

  6. Retournez au portail Azure où le volet Ajouter un assembly est ouvert. Entrez un nom pour votre assembly. Sélectionnez Fichier volumineux (supérieur à 2 Mo).

    La zone URI de contenu s’affiche à la place de la zone Assembly.

  7. Dans la zone URI de contenu , collez l’URI SAP que vous avez créé précédemment. Terminez l’ajout de votre assembly.

Une fois que le chargement de votre assembly terminé, celui-ci s’affiche dans la liste Assemblys. Dans le volet Vue d’ensemble de votre compte d’intégration, sousArtefacts, s’affiche également votre assemblage téléchargé.

Ajouter des mappages

  • Si vous utilisez un workflow Consommation, vous devez ajouter votre mappage à un compte d’intégration lié.

  • Si vous utilisez un workflow Standard, vous avez les options suivantes :

    • Ajouter votre mappage à un compte d’intégration lié. Vous pouvez partager le mappage et le compte d’intégration entre plusieurs ressources d’application logique Standard et leurs workflows enfants.

    • Ajouter le mappage directement à la ressource d’application logique. Toutefois, vous pouvez uniquement partager ce mappage entre les workflows enfants dans la même ressource d’application logique.

Ajouter un mappage au compte d’intégration

  1. Dans le portail Azure connectez-vous avec les informations d’identification de votre compte Azure.

  2. Dans le portail Azure, entrez comptes intégration comme filtre, puis sélectionnez Comptes d’intégration.

  3. Recherchez et sélectionnez votre compte d’intégration.

  4. Dans le menu du compte d’intégration, sous Paramètres, sélectionnez Cartes.

  5. Dans la barre d’outils de la page Cartes , sélectionnez Ajouter.

Pour les workflows Consommation, en fonction de la taille de fichier de votre mappage, effectuez maintenant les étapes de chargement prévues pour les mappages de taille inférieure ou égale à 2 Mo ou de taille supérieure à 2 Mo.

Ajouter des mappages de taille inférieure ou égale à 2 Mo
  1. Dans le volet Ajouter un mappage, entrez un nom unique pour votre mappage.

  2. Sous Type de carte, sélectionnez le type, par exemple : Liquid, XSLT, 2.0, XSLT 3.0 ou HIDX.

  3. À côté de la zone Mappage, choisissez l’icône de dossier. Sélectionnez la carte à charger, puis sélectionnez Ouvrir.

    Si vous avez laissé la propriété Nom vide, le nom de fichier du mappage s’affiche automatiquement dans cette propriété après avoir sélectionné le fichier du mappage.

  4. Quand vous avez terminé, sélectionnez OK.

    Une fois que le chargement de votre fichier de mappage est terminé, le mappage s’affiche dans la liste Mappages. Si la carte n’apparaît pas, dans la barre d’outils Cartes , sélectionnez Actualiser. Dans la page Vue d’ensemble de votre compte d’intégration, sous Artefacts, votre carte chargée s’affiche également.

Ajouter des mappages de taille inférieure ou égale à 2 Mo

Si vous avez besoin d’ajouter des mappages plus volumineux pour les workflows Consommation, utilisez l’API REST Azure Logic Apps - Mappages.

Ajouter un mappage à la ressource d’application logique Standard

Les étapes suivantes s’appliquent uniquement si vous souhaitez ajouter un mappage directement à votre ressource d’application logique Standard. Sinon, ajoutez le mappage à votre compte d’intégration.

Portail Azure
  1. Dans le menu de votre application logique, sous Artefacts, sélectionnez Cartes.

  2. Dans la barre d’outils de la page Cartes , sélectionnez Ajouter.

  3. Dans le volet Ajouter une carte, entrez un nom unique pour votre carte et incluez l’extension de fichier, par exemple .xslt, .hidx ou .liquid.

  4. À côté de la zone Mappage, choisissez l’icône de dossier. Sélectionnez le mappage à télécharger.

  5. Quand vous avez terminé, sélectionnez OK.

    Une fois que le chargement de votre fichier de mappage est terminé, le mappage s’affiche dans la liste Mappages. Sur la page Vue d’ensemble de votre compte d’intégration, sousArtefacts, s’affiche également votre mappage téléchargé.

Visual Studio Code
  1. Sur votre ordinateur, accédez au dossier local de votre projet et développez les dossiers suivants : Artifacts>Maps.

  2. Dans le dossier Cartes , ajoutez votre fichier de carte.

  3. Revenez à Visual Studio Code.

    Votre fichier cartographique apparaît désormais dans votre projet, par exemple :

    Capture d’écran montrant la structure de projet Visual Studio Code avec les dossiers Artefacts et Cartes développés.

Modifier un mappage

Pour mettre à jour un mappage existant, vous devez charger un nouveau fichier de mappage qui comporte les modifications souhaitées. Cependant, vous pouvez d’abord télécharger le mappage existant pour le modifier.

  1. Dans le Portail Azure, ouvrez votre compte d’intégration, s’il n’est pas déjà ouvert.

  2. Dans le menu du compte d’intégration, sous Paramètres, sélectionnez Cartes.

  3. Une fois la page Cartes ouverte, sélectionnez votre carte. Pour télécharger et modifier la carte en premier, dans la barre d’outils de la page Cartes , sélectionnez Télécharger et enregistrez la carte.

  4. Lorsque vous êtes prêt à charger la carte mise à jour, dans la page Cartes , sélectionnez la carte à mettre à jour. Dans la barre d’outils de la page Cartes , sélectionnez Mettre à jour.

  5. Recherchez puis sélectionnez le mappage mis à jour que vous souhaitez charger.

    Une fois que le chargement de votre fichier de mappage est terminé, le mappage mis à jour s’affiche dans la liste Mappages.

Supprimer un mappage

  1. Dans le Portail Azure, ouvrez votre compte d’intégration, s’il n’est pas déjà ouvert.

  2. Dans le menu du compte d’intégration, sous Paramètres, sélectionnez Cartes.

  3. Une fois la page Cartes ouverte, sélectionnez votre carte, puis sélectionnez Supprimer.

  4. Pour confirmer que vous souhaitez supprimer le mappage, choisissez Oui.