Austauschen von EDI-Nachrichten als Batches oder Gruppen zwischen Handelspartnern in Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch)

In B2B-Szenarien tauschen Geschäftspartner häufig Nachrichten in Gruppen oder Batches aus. Wenn Sie eine Batchverarbeitungslösung mit Azure Logic Apps erstellen, können Sie Nachrichten an Handelspartner senden und diese Nachrichten in Batches verarbeiten. In diesem Artikel wird am Beispiel von X12 erläutert, wie Sie EDI-Nachrichten in Batches verarbeiten können, indem Sie eine Logik-App für den Batchversand und eine Logik-App für den Batchempfang erstellen.

Das Stapeln von X12-Nachrichten funktioniert wie das Stapeln anderer Nachrichten. Sie verwenden einen Batchtrigger, der Nachrichten in einem Batch sammelt, und eine Batchaktion, die Nachrichten an den Batch sendet. Zudem beinhaltet die X12-Batchverarbeitung einen X12-Codierungsschritt, bevor die Nachrichten an Handelspartner oder ein anderes Ziel gesendet werden. Weitere Informationen zum Batchtrigger und zur Batchaktion finden Sie unter Versand, Empfang und Batchverarbeitung von Nachrichten mit Azure Logic Apps.

In diesem Artikel erstellen Sie eine Batchverarbeitungslösung, indem Sie zwei Logik-Apps im gleichen Azure-Abonnement und der gleichen Azure-Region in folgender festgelegter Reihenfolge erstellen:

  • Eine Logik-App für den Batchempfang, die Nachrichten in einem Batch annimmt und sammelt, bis die angegebenen Kriterien zur Freigabe und Verarbeitung der Nachrichten erfüllt sind. In diesem Szenario codiert die Logik-App für den Batchempfang auch die Nachrichten im Batch durch Verwenden der angegebenen X12-Vereinbarung oder der Partneridentitäten.

    Stellen Sie sicher, dass Sie zuerst die Logik-App für den Batchempfang erstellen, sodass Sie später beim Erstellen der Logik-App für den Batchversand das Batchziel auswählen können.

  • Ein Logik-App-Workflow für den „Batchversand“, der die Nachrichten an die zuvor erstellte Logik-App für den Batchempfang sendet.

Stellen Sie sicher, dass sich Ihr Batchempfänger und die Batchsender-Logik-App in der selben Azure-Region und dem selben Azure-Abonnement befinden. Wenn dies nicht der Fall ist, können Sie beim Erstellen der Logik-App für den Batchversand nicht die Logik-App für den Batchempfang auswählen, da sie gegenseitig nicht sichtbar sind.

Voraussetzungen

  • Installieren oder verwenden Sie ein Tool, das HTTP-Anforderungen senden kann, um Ihre Lösung zu testen, zum Beispiel:

    Achtung

    Für Szenarien, in denen Sie über vertrauliche Daten wie Anmeldeinformationen, Geheimnisse, Zugriffstoken, API-Schlüssel und andere ähnliche Informationen verfügen, sollten Sie ein Tool verwenden, das Ihre Daten mit den erforderlichen Sicherheitsfunktionen schützt, offline oder lokal funktioniert, Ihre Daten nicht mit der Cloud synchronisiert und keine Anmeldung bei einem Onlinekonto erfordert. Auf diese Weise verringern Sie das Risiko, dass vertrauliche Daten an die Öffentlichkeit gelangen.

Erstellen der X12-Logik-App für den Batchempfang

Um Nachrichten an einen Batch senden zu können, muss dieser Batch zunächst als Ziel vorhanden sein, an das die Nachrichten gesendet werden. Daher müssen Sie zunächst die Logik-App für den Batchempfang erstellen, die über den Trigger Batch gestartet wird. Dadurch können Sie die Logik-App für den Batchempfang auswählen, wenn Sie die Logik-App für den Batchversand erstellen. Die Logik-App für den Batchempfang sammelt Nachrichten, bis die angegebenen Kriterien zur Freigabe und Verarbeitung der Nachrichten erfüllt sind. Beim Batchempfang sind keine Angaben zum Batchversand erforderlich, beim Batchversand wird dagegen das Ziel benötigt, an das die Nachrichten gesendet werden.

Für den Batchempfang werden der Batchmodus, der Batchname, die Freigabekriterien, die X12-Vereinbarung und weitere Einstellungen angegeben.

  1. Erstellen Sie im Azure-Portal, Visual Studio oder Visual Studio Code eine Logik-App mit dem folgenden Namen: BatchX12Messages

  2. Verknüpfen Sie Ihre Logik-App mit Ihrem Integrationskonto.

  3. Fügen Sie im Workflow-Designer den Trigger Batch hinzu, um Ihren Logik-App-Workflow zu starten.

  4. Führen Sie die folgenden allgemeinen Schritte aus, um einen Batchtrigger namens Batchnachrichten hinzuzufügen.

  5. Legen Sie die Eigenschaften für den Batchempfang fest:

    Eigenschaft Wert Hinweise
    Batchmodus Inline
    Batchname TestBatch Nur mit dem Batchmodus Inline verfügbar
    Freigabekriterien Basierend auf der Nachrichtenanzahl, basierend auf dem Zeitplan Nur mit dem Batchmodus Inline verfügbar
    Nachrichtenanzahl 10 Nur mit den Freigabekriterien Basierend auf der Nachrichtenanzahl verfügbar
    Intervall 10 Nur mit den Freigabekriterien Basierend auf dem Zeitplan verfügbar
    Frequency minute Nur mit den Freigabekriterien Basierend auf dem Zeitplan verfügbar

    Angeben von Details für den Batchtrigger

    Hinweis

    In diesem Beispiel wird keine Partition für den Batch eingerichtet, daher verwendet jeder Batch den gleichen Partitionsschlüssel. Weitere Informationen zu Partitionen finden Sie unter Versand, Empfang und Batchverarbeitung von Nachrichten mit Azure Logic Apps.

  6. Fügen Sie nun eine Aktion hinzu, die die einzelnen Batches codiert:

    1. Führen Sie die folgenden allgemeinen Schritte aus, um eine X12-Aktion mit dem Namen Batchcodieren< einer beliebigen Version hinzuzufügen>

    2. Wenn Sie noch keine Verbindung mit Ihrem Integrationskonto hergestellt haben, erstellen Sie die Verbindung jetzt. Geben Sie einen Namen für die Verbindung ein, und wählen Sie das gewünschte Integrationskonto und dann Erstellen aus.

      Erstellen der Verbindung zwischen der Batchcodierung und dem Integrationskonto

    3. Legen Sie folgende Eigenschaften für die Batchcodierungsaktion fest:

      Eigenschaft BESCHREIBUNG
      Name der X12-Vereinbarung Öffnen Sie die Liste, und wählen Sie die vorhandene Vereinbarung aus.

      Wenn die Liste leer ist, stellen Sie sicher, dass Sie die Logik-App mit dem Integrationskonto verknüpfen, das die gewünschte Vereinbarung enthält.

      BatchName Klicken Sie in dieses Feld, und wählen Sie in der angezeigten Liste mit den dynamischen Inhalten das Token Batchname aus.
      PartitionName Klicken Sie in dieses Feld, und wählen Sie in der angezeigten Liste mit den dynamischen Inhalten das Token Partitionsname aus.
      Elemente Schließen Sie das Feld mit den Elementdetails, und klicken Sie dann in dieses Feld. Wählen Sie in der angezeigten Liste mit den dynamischen Inhalten das Token Elemente im Batch aus.

      Batchcodierungsaktion – Details

      Im Feld Elemente:

      Batchcodierungsaktion – Elemente

  7. Speichern Sie Ihren Logik-App-Workflow.

  8. Stellen Sie bei Verwendung von Visual Studio sicher, dass Sie die Logik-App für den Batchempfang in Azure bereitstellen. Andernfalls können Sie beim Erstellen der Logik-App für den Batchversand nicht die Logik-App für den Batchempfang auswählen.

Testen Ihres Workflows

Um sicherzustellen, dass die Logik-App für den Batchempfang wie erwartet ausgeführt wird, können Sie zu Testzwecken eine HTTP-Aktion hinzufügen und eine Batchnachricht an den RequestBin-Dienst senden.

  1. Führen Sie die folgenden allgemeinen Schritte aus, um die HTTP-Aktion namens HTTP hinzuzufügen.

  2. Legen Sie die Eigenschaften für die HTTP-Aktion fest:

    Eigenschaft BESCHREIBUNG
    Methode Wählen Sie in dieser Liste den Eintrag POST aus.
    URI Generieren Sie einen URI für Ihre RequestBin-Instanz, und geben Sie ihn in diesem Feld ein.
    Text Klicken Sie in dieses Feld, und wählen Sie in der angezeigten Liste mit den dynamischen Inhalten das Token Text aus, das im Abschnitt Nach Vereinbarungsname im Batch codieren angezeigt wird.

    Wenn das Token Text nicht angezeigt wird, wählen Sie Weitere Informationen neben Nach Vereinbarungsname im Batch codieren aus.

    Angeben von Details für die HTTP-Aktion

  3. Speichern Sie den Workflow.

    Ihre Batchempfängerlogik-App sieht wie im folgenden Beispiel aus:

    Speichern der Logik-App für den Batchempfang

Erstellen der X12-Logik-App für den Batchversand

Erstellen Sie nun eine oder mehrere Logik-Apps, die Nachrichten an die Logik-App für den Batchempfang senden. In jeder Logik-App für den Batchversand geben Sie die Logik-App für den Batchempfang sowie den Batchnamen, den Nachrichteninhalt und gegebenenfalls weitere Einstellungen an. Optional können Sie einen eindeutigen Partitionsschlüssel angeben, um den Batch zu unterteilen und Nachrichten mit dem entsprechenden Schlüssel zu sammeln.

  • Stellen Sie sicher, dass Sie den Batchempfänger bereits erstellt haben. Auf diese Weise können Sie beim Erstellen des Batch-Absenders den vorhandenen Batchempfänger als Zielbatch auswählen. Beim Batchempfang sind keine Angaben zum Batchversand erforderlich, beim Batchversand wird dagegen das Ziel benötigt, an das die Nachrichten gesendet werden.

  • Stellen Sie sicher, dass sich Ihr Batchempfänger und die Batchsender-Logik-App in der selben Azure-Region und dem selben Azure-Abonnement befinden. Wenn dies nicht der Fall ist, können Sie beim Erstellen der Logik-App für den Batchversand nicht die Logik-App für den Batchempfang auswählen, da sie gegenseitig nicht sichtbar sind.

  1. Erstellen Sie eine weitere Logik-App mit folgendem Namen: SendX12MessagesToBatch

  2. Führen Sie diese allgemeinen Schritte aus, um den Anforderungstrigger namens Beim Empfang einer HTTP-Anforderung hinzuzufügen.

  3. Wenn Sie eine Aktion zum Senden von Nachrichten an einen Batch hinzufügen möchten, führen Sie die folgenden allgemeinen Schritte aus, um eine Nachrichten an Batch senden Aktion mit dem Namen "Logik-Apps"-Workflow mit Batchtrigger auswählen hinzuzufügen.

    1. Wählen Sie nun die Logik-App BatchX12Messages aus, die Sie zuvor erstellt haben.

    2. Wählen Sie die BatchX12Messages-Aktion namens Batch_messages – <your-batch-receiver> aus.

  4. Legen Sie die Eigenschaften für den Batchversand fest.

    Eigenschaft BESCHREIBUNG
    Batchname Der in der Logik-App für den Empfang definierte Batchname, in diesem Beispiel „TestBatch“.

    Wichtig: Der Batchname wird zur Laufzeit überprüft und muss mit dem in der Logik-App für den Empfang angegebenen Namen übereinstimmen. Wenn Sie den Batchnamen ändern, funktioniert die Logik-App für den Batchversand nicht.

    Nachrichteninhalt Der Inhalt der zu sendenden Nachricht, in diesem Beispiel das Token Text.

    Festlegen der Batcheigenschaften

  5. Speichern Sie den Workflow.

    Die Logik-App für den Batchversand sieht wie im folgenden Beispiel aus:

    Speichern der Logik-App für den Batchversand

Testen Ihres Workflows

Um Ihre Batching-Lösung zu testen, senden Sie X12-Nachrichten mit Hilfe Ihres HTTP-Anforderungstools und der zugehörigen Anweisungen an den Workflow Ihrer Batch-Senderlogik-App. Bald danach gehen in Ihrer RequestBin-Instanz X12-Nachrichten ein (entweder alle 10 Minuten oder in Batches mit 10 Elementen), die alle den gleichen Partitionsschlüssel aufweisen.

Nächste Schritte