Encoder et décoder des fichiers plats dans Azure Logic Apps

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

Avant de pouvoir envoyer du contenu XML à un partenaire commercial dans un scénario B2B, vous souhaitez peut-être d’abord encoder ce contenu. Si vous recevez du contenu XML encodé, vous devez d’abord décoder ce contenu. Lorsque vous créez un workflow d’application logique dans Azure Logic Apps, vous pouvez encoder et décoder des fichiers plats à l’aide des actions de connecteur intégrées aux fichiers plats et d’un schéma de fichier plat pour l’encodage et le décodage. Vous pouvez utiliser des actions Fichier plat dans les flux de travail de l’application logique Consommation à locataires multiples et dans les flux de travail de l’application logique Standard à locataire unique.

Bien qu’aucun déclencheur Fichier plat ne soit disponible, vous pouvez utiliser n’importe quel déclencheur ou action pour alimenter le contenu XML source dans votre workflow. Par exemple, vous pouvez utiliser un déclencheur de connecteur intégré, un déclencheur de connecteur géré ou hébergé par Azure disponible pour Azure Logic Apps, voire une autre application.

Cet article explique comment ajouter des actions d’encodage et de décodage de Fichier plat à votre workflow.

  • Ajoutez une action d’encodage ou de décodage de Fichier plat à votre workflow.
  • Sélectionnez le schéma que vous souhaitez utiliser.

Pour plus d’informations, consultez la documentation suivante :

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.

  • Un workflow d’application logique, vide ou existant, dans lequel vous souhaitez utiliser l’action Fichier plat.

    Si vous avez un workflow vide, utilisez un déclencheur pour démarrer le workflow. Cet exemple utilise le déclencheur de demande.

  • Ressource et flux de travail de votre application logique. Les opérations Fichier plat n’ayant pas de déclencheurs disponibles, votre workflow doit inclure au minimum un déclencheur. Pour plus d’informations, consultez la documentation suivante :

  • Schéma de fichier plat pour encoder ou décoder le contenu XML. Pour plus d’informations, ajoutez des schémas à utiliser avec des workflows dans Azure Logic Apps.

  • 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.

    • Si vous travaillez sur un workflow d’application logique Consommation, votre ressource d’application logique nécessite un lien vers votre compte d'intégration.

    • Si vous travaillez sur un workflow d’application logique Standard, vous pouvez lier votre ressource d’application logique à votre compte d’intégration, charger des schémas directement dans 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 ne devez pas charger de schémas 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é Fichier plat vous permet de sélectionner un schéma 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. Vous pouvez ensuite utiliser cet artefact dans tous les workflows enfants au sein de la même ressource d’application logique.

      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.

Limites

  • Le contenu XML que vous souhaitez décoder doit être encodé au format UTF-8.

  • Assurez-vous que les groupes XML contenus dans votre schéma de fichier plat ne présentent pas de nombres excessifs pour la propriété max count définie sur une valeur supérieure à 1. Évitez d’imbriquer un groupe XML avec une valeur de propriété max count supérieure à 1 à l’intérieur d’un autre groupe XML dont la propriété max count est supérieure à 1.

  • Lorsqu’Azure Logic Apps analyse le schéma de fichier plat et lorsque le schéma permet de choisir le fragment suivant, Azure Logic Apps génère un symbole et une prédiction pour ce fragment. Si le schéma autorise un trop grand nombre de ces constructions (par exemple, plus de 100 000), l’expansion du schéma devient excessivement volumineuse, ce qui consomme trop de ressources et de temps.

Charger un schéma

Après avoir créé votre schéma, vous devez le charger en fonction du scénario suivant :

Ajouter l’action d’encodage de fichier plat

  1. Dans le portail Azure, ouvrez votre flux de travail d’application logique dans le concepteur si ce n’est déjà fait.

  2. Si votre flux de travail n’a pas de déclencheur ou d’autres actions dont votre flux de travail a besoin, commencez par ajouter ces opérations. Les opérations Fichier plat n’ont pas de déclencheurs disponibles.

    Cet exemple continue avec le Déclencheur de requête nommé Lors de la réception d’une requête HTTP.

  3. Dans le concepteur de flux de travail, sous l'étape à laquelle vous souhaitez ajouter l'action Fichier plat, sélectionnez Nouvelle étape.

  4. Sous la zone de recherche Choisir une opération, sélectionnez Intégré. Dans la zone de recherche, entrez fichier plat.

  5. Dans la liste des actions, sélectionnez l’action appelée Encodage de fichier plat.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. Dans la propriété Contenu de l’action, fournissez la sortie du déclencheur ou une action précédente que vous souhaitez encoder en suivant ces étapes :

    1. Cliquez dans la zone Contenu pour afficher la liste du contenu dynamique.

    2. Dans la liste de contenu dynamique, sélectionnez le contenu de fichier plat que vous souhaitez encoder.

      Pour cet exemple, dans la liste de contenu dynamique, sous Lors de la réception d’une requête HTTP, sélectionnez le jeton Body qui représente la sortie du déclencheur avec le contenu du corps.

    Screenshot showing Consumption workflow designer and

    Remarque

    Si la propriété Corps n’apparaît pas dans la liste de contenu dynamique, sélectionnez Voir plus en regard de l’étiquette de section Réception d’une requête HTTP. Vous pouvez également entrer directement le contenu à décoder dans la zone Contenu.

  7. Dans la liste Nom du schéma, sélectionnez votre schéma.

    Screenshot showing Consumption workflow designer and opened

    Remarque

    Si la liste des schémas est vide, soit votre ressource d’application logique n’est pas liée à votre compte d’intégration ou votre compte d’intégration ne contient aucun fichier de schéma.

    Lorsque vous avez terminé, votre action ressemble à ce qui suit :

    Screenshot showing Consumption workflow with finished

  8. Pour ajouter d’autres paramètres facultatifs à l’action, sélectionnez ces paramètres dans la liste Ajouter un nouveau paramètre.

    Paramètre active Description
    Mode de génération de nœuds vides ForcedDisabled ou HonorSchemaNodeProperty ou ForcedEnabled Mode à utiliser pour la génération de nœuds vides avec l’encodage de fichier plat.

    Pour BizTalk, le schéma de fichier plat possède une propriété qui contrôle la génération de nœud vide. Vous pouvez suivre le comportement de propriété de génération de nœud vide pour votre schéma de fichier plat, ou vous pouvez utiliser ce paramètre pour qu’Azure Logic Apps génère ou omette des nœuds vides. Pour plus d’informations, consultez les balises pour les éléments vides.
    Normalisation XML Oui ou Non Paramètre permettant d’activer ou de désactiver la normalisation XML pour l’encodage de fichier plat. Pour plus d’informations, consultez XmlTextReader.Normalization.
  9. Enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Ajouter une action Décodage de fichier plat

  1. Dans le portail Azure, ouvrez votre flux de travail d’application logique dans le concepteur si ce n’est déjà fait.

  2. Si votre flux de travail n’a pas de déclencheur ou d’autres actions dont votre flux de travail a besoin, commencez par ajouter ces opérations. Les opérations Fichier plat n’ont pas de déclencheurs disponibles.

    Cet exemple continue avec le Déclencheur de requête nommé Lors de la réception d’une requête HTTP.

  3. Dans le concepteur de flux de travail, sous l'étape à laquelle vous souhaitez ajouter l'action Fichier plat, sélectionnez Nouvelle étape.

  4. Sous la zone de recherche Choisir une opération, sélectionnez Intégré. Dans la zone de recherche, entrez fichier plat.

  5. Dans la liste des actions, sélectionnez l’action appelée Décodage de fichier plat.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. Dans la propriété Contenu de l’action, fournissez la sortie du déclencheur ou une action précédente que vous souhaitez décoder en procédant comme suit :

    1. Cliquez dans la zone Contenu pour afficher la liste du contenu dynamique.

    2. Dans la liste de contenu dynamique, sélectionnez le contenu de fichier plat que vous souhaitez encoder.

      Pour cet exemple, dans la liste de contenu dynamique, sous Lors de la réception d’une requête HTTP, sélectionnez le jeton Body qui représente la sortie du déclencheur avec le contenu du corps.

    Screenshot showing the Consumption workflow designer and

    Remarque

    Si la propriété Corps n’apparaît pas dans la liste de contenu dynamique, sélectionnez Voir plus en regard de l’étiquette de section Réception d’une requête HTTP. Vous pouvez également entrer directement le contenu à décoder dans la zone Contenu.

  7. Dans la liste Nom du schéma, sélectionnez votre schéma.

    Screenshot showing Consumption workflow designer and opened

    Remarque

    Si la liste des schémas est vide, soit votre ressource d’application logique n’est pas liée à votre compte d’intégration ou votre compte d’intégration ne contient aucun fichier de schéma.

    Lorsque vous avez terminé, votre action ressemble à ce qui suit :

    Screenshot showing Consumption workflow with finished

  8. Enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Vous avez maintenant terminé la configuration de votre action de décodage de fichier plat. Dans une application réelle, vous souhaiterez peut-être stocker les données décodées dans une application métier telle que Salesforce. Vous pouvez également envoyer les données décodées à une partie. Pour envoyer la sortie de l’action de décodage à Salesforce ou à votre partie, utilisez les autres connecteurs disponibles dans Azure Logic Apps :

Tester votre workflow

  1. En utilisant Postman ou un outil similaire et la méthode POST, envoyez un appel à l’URL du déclencheur Requête, qui apparaît dans la propriété URL POST HTTP du déclencheur Requête et incluez le contenu XML que vous voulez encoder ou décoder dans le corps de la demande.

  2. Une fois l’exécution de votre workflow terminée, accédez à l’historique des exécutions du workflow, puis examinez les entrées et sorties de l’action Fichier plat.

Étapes suivantes