Partager 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 Azure 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éé.

Vérifiez que vos flux de travail d’application logique de récepteur de lots et d’expéditeur de lots utilisent le même abonnement Azure 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

  • Installez ou utilisez un outil capable d’envoyer des requêtes HTTP pour tester votre solution, par exemple :

    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.

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, Visual Studio ou Visual Studio Code, créez une application logique avec le nom suivant : BatchX12Messages

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

  3. Dans le concepteur de flux de travail, ajoutez le déclencheur Lot qui démarre le workflow de votre application logique.

  4. Suivez ces étapes générales pour ajouter un déclencheur Lot nommé Messages de lot.

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

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

    1. Suivez ces étapes générales pour ajouter une action X12nommée : Encoder lot <n’importe quelle version>

    2. 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 sélectionnez Créer.

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

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

  7. Enregistrez votre workflow d’application logique.

  8. 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 workflow

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. Suivez ces étapes générales pour ajouter l’action HTTP nommée HTTP.

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

  3. Enregistrez votre flux de travail.

    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.

  • Assurez-vous que vous avez déjà créé votre récepteur de lots. Ainsi, lorsque vous créez 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 flux de travail d’application logique de récepteur de lots et d’expéditeur de lots utilisent le même abonnement Azure 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.

  1. Créer une autre application logique avec le nom suivant : SendX12MessagesToBatch

  2. Suivez cette procédure générale pour ajouter le déclencheur Requête nommé Lors de la réception d’une requête HTTP.

  3. Pour ajouter une action pour l’envoi de messages à un lot, suivez ces étapes générales pour ajouter une action Envoyer des messages à un lot nommée Choisir un flux de travail d’application logique avec un déclencheur de lot.

    1. Sélectionnez l’application logique BatchX12Messages que vous avez créée précédemment.

    2. Sélectionnez l’action BatchX12Messages nommée Batch_messages - <your-batch-receiver>.

  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 flux de travail.

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

    Enregistrement de votre application logique expéditrice de lots

Tester votre workflow

Pour tester votre solution de traitement par lot, publiez des messages X12 dans votre flux de travail d’application logique d’expéditeur de lots à l’aide de votre outil de requête HTTP et de ses instructions. 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