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 :
- Applications logiques Consommation et Standard
- Connecteurs intégrés de compte d’intégration
- Vue d’ensemble des connecteurs intégrés pour Azure Logic Apps
- Connecteurs gérés ou hébergés par Azure dans Azure Logic Apps
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 Requête.
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.
Installez ou utilisez un outil capable d’envoyer des requêtes HTTP pour tester votre solution, par exemple :
- Visual Studio Code avec une extension de Visual Studio Marketplace
- Invoke-RestMethod de PowerShell
- Microsoft Edge - Outil console réseau
- Bruno
- curl
Attention
Dans les scénarios comprenant des données sensibles, comme des informations d’identification, des secrets, des jetons d’accès, des clés API et d’autres informations similaires, veillez à utiliser un outil qui protège vos données avec les fonctionnalités de sécurité nécessaires, qui fonctionne en mode hors connexion ou localement, qui ne synchronise pas vos données avec le cloud, et qui ne vous impose pas de vous connecter à un compte en ligne. Vous réduirez ainsi les risques liés à l’exposition de données sensibles au public.
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 :
Si vous travaillez sur un workflow d’application logique Consommation, ajoutez votre schéma dans votre compte d’intégration.
Si vous travaillez sur un workflow d’application logique Standard, vous pouvez ajouter votre schéma à votre compte d’intégration ou ajouter votre schéma dans votre ressource d’application logique.
Ajouter l’action d’encodage de fichier plat
Dans le portail Azure, ouvrez votre flux de travail d’application logique dans le concepteur si ce n’est déjà fait.
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é Lorsqu'une requête HTTP est reçue.
Dans le concepteur de flux de travail, sous l'étape à laquelle vous souhaitez ajouter l'action Fichier plat, sélectionnez Nouvelle étape.
Sous la zone de recherche Choisir une opération, sélectionnez Intégré. Dans la zone de recherche, entrez fichier plat.
Dans la liste des actions, sélectionnez l’action appelée Encodage de fichier plat.
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 :
Cliquez dans la zone Contenu pour afficher la liste du contenu dynamique.
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.
Notes
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.
Dans la liste Nom du schéma, sélectionnez votre schéma.
Notes
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 :
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. Enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Ajouter une action Décodage de fichier plat
Dans le portail Azure, ouvrez votre flux de travail d’application logique dans le concepteur si ce n’est déjà fait.
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é Lorsqu'une requête HTTP est reçue.
Dans le concepteur de flux de travail, sous l'étape à laquelle vous souhaitez ajouter l'action Fichier plat, sélectionnez Nouvelle étape.
Sous la zone de recherche Choisir une opération, sélectionnez Intégré. Dans la zone de recherche, entrez fichier plat.
Dans la liste des actions, sélectionnez l’action appelée Décodage de fichier plat.
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 :
Cliquez dans la zone Contenu pour afficher la liste du contenu dynamique.
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.
Notes
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.
Dans la liste Nom du schéma, sélectionnez votre schéma.
Notes
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 :
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
Pour déclencher votre workflow, suivez ces étapes :
Dans le déclencheur Requête, recherchez la propriété URL HTTP POST et copiez l’URL.
Ouvrez votre outil de requête HTTP et utilisez ses instructions pour envoyer une requête HTTP à l’URL copiée, y compris la méthode attendue par le déclencheur Requête.
Cet exemple utilise la méthode
POST
avec l’URL.Incluez le contenu XML que vous souhaitez encoder ou décoder dans le corps de la requête.
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
- En savoir plus sur Enterprise Integration Pack