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
Ein Azure-Abonnement. Wenn Sie noch kein Abonnement haben, können Sie mit einem kostenlosen Azure-Konto beginnen.
Grundlegende Kenntnisse zum Erstellen von Logik-App-Workflows. Weitere Informationen finden Sie unter Erstellen eines Beispiels für einen Workflow der Verbrauchs-Logik-App in mehrmandantenfä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.
Installieren oder verwenden Sie ein Tool, das HTTP-Anforderungen senden kann, um Ihre Lösung zu testen, zum Beispiel:
- Visual Studio Code mit einer Erweiterung von Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge – Netzwerkkonsolentool
- Bruno
- curl
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.
Erstellen Sie im Azure-Portal, Visual Studio oder Visual Studio Code eine Logik-App mit dem folgenden Namen: BatchX12Messages
Fügen Sie im Workflow-Designer den Trigger Batch hinzu, um Ihren Logik-App-Workflow zu starten.
Führen Sie die folgenden allgemeinen Schritte aus, um einen Batchtrigger namens Batchnachrichten hinzuzufügen.
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:
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 Ihren Logik-App-Workflow.
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.
Führen Sie die folgenden allgemeinen Schritte aus, um die HTTP-Aktion namens HTTP hinzuzufügen.
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 den Workflow.
Ihre Batchempfängerlogik-App 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 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.
Erstellen Sie eine weitere Logik-App mit folgendem Namen: SendX12MessagesToBatch
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.
Wählen Sie nun die Logik-App BatchX12Messages aus, die Sie zuvor erstellt haben.
Wählen Sie die BatchX12Messages-Aktion namens Batch_messages – <your-batch-receiver> 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 den Workflow.
Die Logik-App für den Batchversand sieht wie im folgenden Beispiel aus:
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.