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 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.
Die Batchverarbeitung von X12-Nachrichten funktioniert wie die Batchverarbeitung 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 die Logik-App für den Batchempfang und die Logik-App für den Batchversand im gleichen Azure-Abonnement und der gleichen Azure-Region 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
Für dieses Beispiel benötigen Sie Folgendes:
Ein Azure-Abonnement. Falls Sie über kein Abonnement verfügen, können Sie mit einem kostenlosen Azure-Konto beginnen. Oder registrieren Sie sich für ein Abonnement mit nutzungsbasierter Bezahlung.
Grundlegende Kenntnisse zum Erstellen von Logik-App-Workflows. Weitere Informationen finden Sie unter Erstellen eines verbrauchsbasierten Logik-App-Beispielworkflows in mehrinstanzenfähigen Azure Logic Apps.
Ein vorhandenes Integrationskonto, das Ihrem Azure-Abonnement zugeordnet und mit den Logik-Apps verknüpft ist
Mindestens zwei in Ihrem Integrationskonto vorhandene Partner. Jeder Partner muss in den zugehörigen Eigenschaften den X12-Qualifizierer (Standard Carrier Alpha Code) als Geschäfts-ID verwenden.
Eine in Ihrem Integrationskonto vorhandene X12-Vereinbarung
Wenn Sie Visual Studio anstelle des Microsoft Azure-Portals verwenden möchten, müssen Sie Visual Studio zur Verwendung mit Azure Logik Apps einrichten.
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.
Erstellen Sie über das Azure-Portal oder Visual Studio eine Logik-App mit dem Namen „BatchX12Messages“.
Fügen Sie im Designer für Logik-Apps den Trigger Batch hinzu, um den Workflow Ihrer Logik-App zu starten. Geben Sie im Suchfeld den Begriff „Batch“ als Filter ein. Wählen Sie den Trigger Batchnachrichten aus.
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 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.
Fügen Sie nun eine Aktion hinzu, die die einzelnen Batches codiert:
Wählen Sie unter dem Batchtrigger die Option + Neuer Schritt aus.
Geben Sie im Suchfeld „X12 batch“ als Filter ein, und wählen Sie die folgende Aktion (beliebige Version) aus: Batch encode <version> – X12 (Batchcodierung
– X12) 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.
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. Im Feld Elemente:
Speichern Sie Ihre Logik-App.
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 Ihrer Logik-App
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.
Wählen Sie unter der X12-Codierungsaktion die Option + Neuer Schritt aus.
Geben Sie im Suchfeld „HTTP“ als Filter ein. Wählen Sie die folgende Aktion aus: HTTP - HTTP
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.
Speichern Sie Ihre Logik-App.
Die Logik-App für den Batchempfang sieht wie im folgenden Beispiel aus:
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 bereits die Logik-App für den Batchempfang erstellt haben, sodass Sie diese beim Erstellen der Logik-App für den Batchversand als Batchziel auswählen können. 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 die Logik-App für den Batchempfang und die Logik-App für den Batchversand in der gleichen Azure-Region und dem gleichen 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.
Erstellen Sie eine weitere Logik-App mit dem Namen „SendX12MessagesToBatch“.
Geben Sie im Suchfeld „Beim Empfang einer HTTP-Anforderung“ als Filter ein. Wählen Sie Beim Empfang einer HTTP-Anforderung als Trigger aus.
Fügen Sie eine Aktion hinzu, um Nachrichten an einen Batch zu senden.
Wählen Sie unter der HTTP-Anforderungsaktion die Option + Neuer Schritt aus.
Geben Sie im Suchfeld den Begriff „Batch“ als Filter ein. Wählen Sie die Liste Aktionen und dann die Aktion Logik-App-Workflow mit Batchtrigger auswählen – Nachrichten an Batch senden aus.
Wählen Sie nun die zuvor erstellte Logik-App „BatchX12Messages“ aus.
Wählen Sie die Aktion Batch_messages – <Ihre Logik-App für den Batchempfang> aus.
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. Speichern Sie Ihre Logik-App.
Die Logik-App für den Batchversand sieht wie im folgenden Beispiel aus:
Testen Ihrer Logik-Apps
Veröffentlichen Sie X12-Nachrichten über Postman oder ein ähnliches Tool für die Logik-App für den Batchversand, um Ihre Batchverarbeitungslösung zu testen. 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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für