Share via


Échanger des messages EDI sous forme de lots ou de groupes entre partenaires commerciaux dans Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation)

Dans les scénarios d’entreprise à entreprise (B2B), les partenaires échangent souvent des messages par groupes ou par lots. Lorsque vous générez une solution de traitement par lot avec Logic Apps, vous pouvez envoyer des messages aux partenaires commerciaux et traiter ces messages par lot. Cet article explique comment traiter des messages EDI par lot (sur la base de l’exemple X12) en créant des applications logiques d’envoi et de réception par lot.

Le traitement par lot des messages X12 fonctionne de la même manière que le traitement par lot d’autres messages. Vous devez utiliser un déclencheur de lot qui collecte les messages dans un lot et une action de traitement par lot qui envoie des messages au lot. En outre, le traitement par lot X12 prévoit une étape d’encodage avant d’envoyer les messages au partenaire commercial ou à une autre destination. Pour plus d’informations sur le déclencheur et l’opération de traitement par lots, consultez Traiter par lots des messages.

Dans cet article, vous allez concevoir une solution de traitement par lots en créant deux applications logiques dans le même abonnement et la même région Azure, en suivant cet ordre précis :

  • Une application logique « réceptrice de lots », qui accepte et collecte les messages dans un lot jusqu’à ce que vos critères précisés soient remplis pour mettre en production et traiter ces messages. Dans ce scénario, le récepteur de lots encode également les messages dans le lot au moyen de l’accord X12 spécifié ou des identités partenaires.

    Veillez à commencer par la création du récepteur de lots, afin de pouvoir sélectionner ensuite la destination des lots lors de la création de l’expéditeur de lots.

  • Un workflow d’application logique « expéditeur de lots », qui envoie les messages au récepteur de lots précédemment créé.

Assurez-vous que votre récepteur et votre expéditeur de lots partagent le même abonnement et la même région Azure. Si ce n’est pas le cas, vous ne pouvez pas sélectionner le récepteur de lots lorsque vous créez l’expéditeur de lots, car ils ne sont pas visibles entre eux.

Prérequis

Pour suivre cet exemple, vous avez besoin de ce qui suit :

Créer un récepteur de lots X12

Avant de pouvoir envoyer des messages à un lot, ce lot doit d’abord exister en tant que destination vers laquelle envoyer ces messages. Ainsi, vous devez commencer par créer l’application logique « réceptrice de lots », qui démarre avec le déclencheur Lot. De cette façon, lorsque vous créez l’application logique « expéditrice de lots », vous pouvez sélectionner l’application logique réceptrice de lots. Le récepteur de lots continue à collecter les messages jusqu’à ce que vos critères spécifiés soient remplis pour mettre en production et traiter ces messages. Alors que les récepteurs de lots n’ont pas besoin de connaître les expéditeurs de lots, les expéditeurs de lots, eux, doivent connaître la destination vers laquelle envoyer les messages.

Pour ce récepteur de lots, vous devez spécifier le mode et le nom du lot, les critères de mise en production, l’accord X12 et d’autres paramètres.

  1. Dans le portail Azure ou dans Visual Studio, créez une application logique et nommez-la ainsi : "BatchX12Messages"

  2. Liez votre application logique à votre compte d’intégration.

  3. Dans le Concepteur d'applications logiques, ajoutez le déclencheur Lot qui démarre le flux de travail de votre application logique. Dans la zone de recherche, entrez « lot » comme filtre. Sélectionner le déclencheur : Traiter les messages par lots

    Ajout du déclencheur Lot

  4. Définissez les propriétés du récepteur de lots :

    Propriété Valeur Notes
    Mode Batch En ligne
    Nom du lot TestBatch Disponible uniquement avec le mode Batch Inline
    Critères de mise en production Sur la base du nombre de messages, sur la base de la planification Disponible uniquement avec le mode Batch Inline
    Nombre de messages 10 Disponible uniquement avec le critère de mise en production Sur la base du nombre de messages
    Intervalle 10 Disponible uniquement avec le critère de mise en production Sur la base de la planification
    Fréquence minute Disponible uniquement avec le critère de mise en production Sur la base de la planification

    Détails à fournir concernant le déclencheur Lot

    Notes

    Cet exemple ne configure pas de partition pour le lot, chaque lot utilise donc la même clé de partition. Pour en savoir plus sur les partitions, consultez Traiter les messages par lots.

  5. Nous allons maintenant ajouter une action qui encode chaque lot :

    1. Sous le déclencheur Lot, sélectionnez Nouvelle étape.

    2. Dans la zone de recherche, entrez « lot X12 » en tant que filtre et sélectionnez cette action (quelle que soit la version) : Encodage par lots <version> - X12.

      Sélection de l’action d’encodage par lots X12

    3. Si vous n’êtes pas déjà connecté à votre compte d’intégration, connectez-vous maintenant. Indiquez un nom pour votre connexion, sélectionnez le compte d’intégration, puis choisissez Créer.

      Établir la connexion entre l’encodeur par lots et le compte d’intégration

    4. Définissez ces propriétés pour votre action d’encodeur par lots :

      Propriété Description
      Nom de l’accord X12 Ouvrez la liste, puis sélectionnez votre accord.

      Si votre liste est vide, assurez-vous d’avoir bien associé votre application logique au compte d’intégration détenant l’accord qui vous intéresse.

      BatchName Cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Nom du lot.
      PartitionName Cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Nom de la partition.
      Éléments Fermez la zone d’informations sur l’élément, puis cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Éléments traités par lots.

      Détails de l’action d’encodage par lots

      Pour la zone Éléments :

      Éléments de l’action d’encodage par lots

  6. Enregistrez votre application logique.

  7. Si vous utilisez Visual Studio, veillez à déployer votre application logique réceptrice de lots sur Azure. Sinon, vous ne pouvez pas sélectionner le récepteur de lots lorsque vous créez l’expéditeur de lots.

Tester votre application logique

Pour vérifier que votre récepteur de lots fonctionne comme prévu, vous pouvez ajouter une action HTTP à des fins de test et envoyer un message par lot au service Request Bin.

  1. Sous l’action d’encodage X12, choisissez Nouvelle étape.

  2. Dans la zone de recherche, entrez « http » en tant que filtre. Sélectionnez cette action : HTTP - HTTP

    Sélection de l’action HTTP

  3. Définissez les propriétés de l’action HTTP :

    Propriété Description
    Méthode Dans cette liste, sélectionnez POST.
    Uri Générez un URI pour votre RequestBin, puis saisissez-le dans cette zone.
    Corps Cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Corps, qui apparaît dans la section Encodage Batch par nom de contrat.

    Si le jeton Corps n’apparaît pas, en regard de Encodage Batch par nom de contrat, sélectionnez Afficher plus.

    Saisie des détails de l’action HTTP

  4. Enregistrez votre application logique.

    Votre application logique réceptrice de lots ressemble à l’exemple suivant :

    Enregistrer votre application logique réceptrice de lots

Créer l’expéditeur de lots X12

À présent, créez une ou plusieurs applications logiques qui envoient des messages vers l’application logique réceptrice de lots. Dans chaque expéditeur de lots, vous spécifiez l’application logique réceptrice de lots avec le nom du lot, le contenu du message et tout autre paramètre nécessaire. Vous pouvez éventuellement fournir une clé de partition unique pour diviser le lot en sous-ensembles afin de collecter les messages.

  • En vous assurant d’avoir créé votre récepteur de lots avant de créer votre expéditeur de lots, vous pouvez sélectionner le récepteur existant comme destinataire de lots. Alors que les récepteurs de lots n’ont pas besoin de connaître les expéditeurs de lots, les expéditeurs de lots, eux, doivent savoir où envoyer les messages.

  • Vérifiez que vos récepteur et expéditeur de lots partagent la même région et le même abonnement Azure. Si ce n’est pas le cas, vous ne pouvez pas sélectionner le récepteur de lots lorsque vous créez l’expéditeur de lots, car ils ne sont pas visibles entre eux.

  1. Créez une autre application logique portant le nom suivant : "SendX12MessagesToBatch"

  2. Dans la zone de recherche, saisissez le filtre « when a http request ». Sélectionner le déclencheur : Lors de la réception d’une requête HTTP

    Ajout du déclencheur Request

  3. Ajoutez une action pour envoyer des messages vers un lot.

    1. Sous l’action de requête HTTP, choisissez Nouvelle étape.

    2. Dans la zone de recherche, entrez « lot » comme filtre. Dans la liste Actions, sélectionnez cette action : Choisir un workflow Logic Apps avec déclencheur de lot - Envoyer les messages au lot

      Sélection de « Choisir un workflow Logic Apps avec déclencheur de lot »

    3. Sélectionnez à présent l’application logique « BatchX12Messages » créée précédemment.

      Sélection de l’application logique « BatchReceiver »

    4. Sélectionnez cette action : Batch_messages - <your-batch-receiver>.

      Sélection de l’action « Batch_messages »

  4. Définissez les propriétés de l’expéditeur de lots.

    Propriété Description
    Nom du lot Nom défini par l’application logique réceptrice (« TestBatch » dans cet exemple)

    Important ! Le nom du lot est validé lors de l’exécution et doit correspondre au nom spécifié par l’application logique réceptrice. Si vous modifiez ce nom, l’expéditeur de lots échoue.

    Contenu du message Contenu du message que vous souhaitez envoyer (jeton Corps dans cet exemple)

    Définition des propriétés du lot

  5. Enregistrez votre application logique.

    Votre application logique expéditrice de lots ressemble à l’exemple suivant :

    Enregistrement de votre application logique expéditrice de lots

Tester les applications logiques

Pour tester votre solution de traitement par lots, publiez des messages X12 dans votre application logique expéditrice de lots à partir de Postman ou d’un outil similaire. Vous allez bientôt commencer à recevoir des messages X12 dans votre RequestBin, soit toutes les 10 minutes, soit sous la forme de lots de 10, tous avec la même clé de partition.

Étapes suivantes