Freigeben über


Austausch von EDI-Nachrichten in Chargen oder Gruppen zwischen Geschäftspartnern in Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch + Standard)

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.

Die Verarbeitung von X12-Nachrichten in Batches funktioniert genauso wie das Batching anderer Nachrichten. Sie verwenden einen Batchtrigger, um Nachrichten in einem Batch zu sammeln. Sie verwenden eine Batchaktion, um Nachrichten an den Batch zu senden. Bevor die Nachrichten an den Handelspartner oder ein anderes Ziel gehen, fügen Sie auch einen X12-Codierungsschritt ein. Weitere Informationen finden Sie unter Senden, Empfangen und Batchprozessnachrichten.

Dieses Handbuch zeigt, wie Sie eine Batchlösung erstellen, die EDI-Nachrichten (Electronic Data Interchange) verarbeitet, indem Sie zwei Logik-Apps, einen Batch-Absender und einen Batchempfänger erstellen. Als Beispiel behandelt diese Lösung X12-Nachrichten.

  • Der Batchempfänger sammelt Nachrichten in einem Batch, bis bestimmte Kriterien erfüllt sind, um diese Nachrichten freizugeben und zu verarbeiten. Dieser Batchempfänger codiert auch die Nachrichten im Batch mithilfe der angegebenen X12-Vereinbarung oder Partneridentitäten.

    Sie müssen zuerst den Batchempfänger als Batchziel erstellen. Sie können dann später den Batchempfänger auswählen, wenn Sie den Batch-Absender erstellen.

  • Der Workflow für Batchabsenderlogik sendet Nachrichten an den zuvor erstellten Batchempfänger.

Ihr Batchempfänger und Batchabsender müssen dasselbe Azure-Abonnement und dieselbe Azure-Region verwenden. 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.

Hinweis

In einer Standardlogik-App können Sie zwei Workflows als Batchempfänger und Batch-Absender erstellen. Die Verbrauchslogik-App verfügt nur über einen einzigen Workflow, daher müssen Sie zwei Logik-Apps erstellen.

Voraussetzungen

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

    Vorsicht

    Für Szenarien, in denen Sie vertrauliche Daten haben, z. B. Anmeldeinformationen, Geheime Schlüssel, Zugriffstoken, API-Schlüssel und andere ähnliche Informationen, stellen Sie sicher, dass Sie ein Tool verwenden, das Ihre Daten mit den erforderlichen Sicherheitsfeatures schützt. Das Tool sollte offline oder lokal arbeiten und muss sich nicht bei einem Onlinekonto anmelden oder Daten mit der Cloud synchronisieren. Wenn Sie ein Tool mit diesen Merkmalen verwenden, verringern Sie das Risiko, vertrauliche Daten für die Öffentlichkeit verfügbar zu machen.

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

Bevor Sie Nachrichten an einen Batch senden können, muss der Batch zuerst als Zielbatch vorhanden sein. Erstellen Sie also zuerst den Batchempfänger, und starten Sie den Workflow mit dem Batchtrigger. Auf diese Weise können Sie beim Erstellen des Batch-Absenders den Batchempfänger auswählen.

Der Batchempfänger sammelt Nachrichten, bis die angegebenen Kriterien erfüllt sind, um diese Nachrichten freizugeben und zu verarbeiten. Batchempfänger müssen nicht über die Batch-Absender wissen, aber Batch-Absender müssen wissen, wo die Nachrichten gesendet werden sollen.

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

  2. Wenn Sie die Logik-App zuvor nicht mit Ihrem Integrationskonto verknüpft haben, verknüpfen Sie Ihre Logik-App jetzt.

  3. Führen Sie die folgenden allgemeinen Schritte aus, um einen Batchvorgänge-Trigger namens Batchtrigger hinzuzufügen.

  4. Wählen Sie im Designer "Batchtrigger " aus, um den Triggerinformationsbereich zu öffnen.

  5. Wählen Sie im Informationsbereich den Titel für den Batchtrigger aus. Ändern Sie den Namen in *Batchnachrichten.

  6. Geben Sie auf der Registerkarte "Parameter " Werte für die folgenden Parameter ein:

    Parameter Wert Notizen
    Modus Inline - oder IntegrationAccount Nur für Verbrauchsworkflows verfügbar.
    Batchname < Batchname> Der zu verwendende Batchname. In diesem Beispiel wird TestBatchverwendet.

    - Verbrauchs-Workflows: Nur verfügbar, wenn der ModusInline ist. In diesem Beispiel wird TestBatchverwendet.
    - Standardworkflows: Immer verfügbar.
    Freigabekriterien - Basierend auf der Nachrichtenanzahl
    - Größenbasiert
    - Zeitplanbasiert
    Der zu verwendende Freigabekriterientyp.

    - Verbrauchs-Workflows: Nur verfügbar, wenn der ModusInline ist.
    - Standardworkflows: Immer verfügbar.

    In diesem Beispiel werden nach Nachrichtenanzahl und nach Zeitplan verwendet.
    Nachrichtenanzahl < ganze Zahl> Nur verfügbar, wenn die Freigabekriterien auf der Basis der Nachrichtenanzahl basieren. Gibt die Anzahl der zu sammelnden und freigebenden Nachrichten an. In diesem Beispiel wird als Wert verwendet 10 .
    Intervall < ganze Zahl> Nur verfügbar, wenn Veröffentlichungskriterienauf "Zeitplan" basieren. Gibt die Anzahl der Zeitintervalle für die Wiederholung an. In diesem Beispiel wird als Wert verwendet 10 .
    Frequenz < Zeiteinheit> Nur verfügbar, wenn Veröffentlichungskriterienauf "Zeitplan" basieren. Gibt die Zeiteinheit für die Wiederkehr an. In diesem Beispiel wird Minute als Wert verwendet.

    Screenshot des Triggerbereichs für Batchnachrichten, in dem Sie die Parameterwerte eingeben können.

    Hinweis

    In diesem Beispiel wird keine Partition für den Batch eingerichtet. Jeder Batch verwendet denselben Partitionsschlüssel. Weitere Informationen zu Partitionen finden Sie unter Erstellen eines Batch-Absenders.

  7. Fügen Sie eine Aktion hinzu, die jeden Batch 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.

      1. Geben Sie einen Namen für die Verbindung an.
      2. Geben Sie Werte für die PARAMETER " Integration Account ID " und "Integration Account SAS URL " an.
      3. Wählen Sie "Neu erstellen" aus.

      Screenshot zeigt den Verbindungsnamen und das Integrationskonto, mit dem Sie eine Verbindung zwischen Batch-Encoder und Integrationskonto erstellen.

    3. Wählen Sie im Designer die Batch-Encoderaktion aus, um den Aktionsinformationsbereich zu öffnen. Geben Sie auf der Registerkarte "Parameter " Werte für die folgenden Parameter an. Wählen Sie bei Bedarf Parameter aus erweiterten Parametern aus.

      Parameter BESCHREIBUNG
      Name der X12-Vereinbarung Wählen Sie in dieser Liste Ihre Vereinbarung aus.

      Hinweis: Wenn die Liste leer ist, stellen Sie sicher, dass Sie Ihre Logik-App mit dem Integrationskonto verknüpfen , das Über Ihre Vereinbarung verfügt.
      BatchName Wählen Sie in diesem Feld aus, um die Eingabeoptionen anzuzeigen. Wählen Sie das Beleuchtungssymbol aus, um die dynamische Inhaltsliste zu öffnen. Wählen Sie in der Liste unter "Batchnachrichten" die Triggerausgabe namens "Batchname" aus.
      PartitionName Wählen Sie in diesem Feld aus, um die Eingabeoptionen anzuzeigen. Wählen Sie das Blitzsymbol aus, um die Dynamische Inhaltsliste zu öffnen. Wählen Sie in der Liste unter "Batchnachrichten" "Partitionsname" aus.
      Elemente Wählen Sie das T-Symbol für "Wechseln" aus, um das gesamte Array einzugeben. Wählen Sie im Feld "Elemente " aus, um die Eingabeoptionen anzuzeigen. Wählen Sie das Blitzsymbol aus, um die Dynamische Inhaltsliste zu öffnen. Wählen Sie in dieser Liste unter "Batchnachrichten" die Triggerausgabe namens "Batched Items" aus.

      Der Screenshot zeigt die Aktion

      Im Feld Elemente:

      Screenshot des Felds

  8. Speichern Sie den Workflow.

  9. Wenn Sie Visual Studio Code verwenden, stellen Sie zuerst die Batchempfängerlogik-App in Azure bereit. Andernfalls können Sie beim Erstellen der Logik-App für den Batchversand nicht die Logik-App für den Batchempfang auswählen.

Testen des 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. Wählen Sie im Designer die HTTP-Aktion aus, um den Aktionsinformationsbereich zu öffnen. Geben Sie auf der Registerkarte "Parameter " Werte für die folgenden Parameter ein:

    Parameter 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 Wählen Sie in diesem Feld aus, um die Eingabeoptionen anzuzeigen. Wählen Sie das Beleuchtungssymbol aus, um die dynamische Inhaltsliste zu öffnen. Wählen Sie in dieser Liste unter "Batchcodiert nach Vertragsname" die Aktionsausgabe mit dem Namen "Inhalt" aus.

    Wenn "Inhalt " nicht angezeigt wird, wählen Sie neben "Batchcodieren nach Vertragsname" die Option "Weitere Informationen" aus.

    Screenshot einer HTTP-Aktion, in der Sie Werte angeben.

  3. Speichern Sie den Workflow.

    Ihr Batch-Empfänger-Prozess sieht nach dem folgenden Beispiel aus.

    Screenshot zeigt den abgeschlossenen Arbeitsablauf des Batch-Empfängers.

  4. Fahren Sie mit dem nächsten Abschnitt fort, in dem Sie einen Batch-Absender zum Senden von Nachrichten an den Batchempfänger erstellen.

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

Jetzt benötigen Sie eine oder mehrere Logik-Apps, die Nachrichten an den Batchempfänger senden. Geben Sie für jeden Batch-Absender den Batchempfänger und den Batchnamen, den Nachrichteninhalt und alle anderen Einstellungen an. Optional können Sie einen eindeutigen Partitionsschlüssel bereitstellen, um den Batch in Teilmengen zu unterteilen und Nachrichten mit diesem Schlüssel zu sammeln.

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Aufgaben abgeschlossen haben:

  • Sie haben ihren Batchempfänger erstellt. Der Batchempfänger muss vorhanden sein, wenn Sie den Batch-Absender erstellen. Andernfalls können Sie den Batchempfänger nicht als Zielbatch auswählen. Batchempfänger müssen nicht über Batch-Absender Bescheid wissen, aber Batch-Absender müssen wissen, wohin die Nachrichten gesendet werden sollen.

  • Stellen Sie sicher, dass sowohl der Batchempfänger als auch der Batchabsender dasselbe Azure-Abonnement und dieselbe Azure-Region verwenden. 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 dem Namen SendX12MessagesToBatch.

  2. Führen Sie die folgenden allgemeinen Schritte aus, um den Anforderungsauslöser namens "Wenn eine HTTP-Anforderung empfangen wird" hinzuzufügen.

  3. Führen Sie die folgenden allgemeinen Schritte aus, um die Aktion mit dem Namen Batchvorgänge basierend auf Ihrem Logik-App-Typ hinzuzufügen:

    • Verbrauch: An Batchtriggerworkflow senden
    • Standard: An Batch senden
    1. Führen Sie die Schritte für ihren Logik-App-Typ aus:

      • Verbrauch: Wählen Sie Ihre zuvor erstellten BatchX12Messages>Batch_messages aus und >fügen Sie eine Aktion hinzu.
      • Standard: Überspringen Sie diesen Schritt, und fahren Sie mit dem nächsten Schritt fort.
  4. Geben Sie auf der Registerkarte "Parameter " Werte für die folgenden Parameter ein:

    Parameter BESCHREIBUNG
    Batchname Der im Batchempfänger definierte Batchname, der für dieses Beispiel gilt TestBatch .

    Wichtig: Der Batchname wird zur Laufzeit überprüft und muss mit dem vom Batchempfänger angegebenen Namen übereinstimmen. Wenn Sie den Batchnamen ändern, funktioniert die Logik-App für den Batchversand nicht.
    Nachrichteninhalt Der zu sendende Nachrichteninhalt, bei dem es sich um den Body-Output des HTTP-Triggers handelt.

    Wählen Sie im Feld Nachrichteninhalt aus, um die Eingabeoptionen anzuzeigen. Wählen Sie das Blitzsymbol aus, um die Dynamische Inhaltsliste zu öffnen. Wählen Sie in der Liste unter HTTPBody aus.
    - Verbrauch: Workflow-ID
    - Standard: Workflowname
    - Verbrauchsworkflows: Der Wert ist bereits ausgefüllt.
    - Standard: Geben Sie den Triggernamen in den Batchempfängerworkflow ein, bei dem es sich um Batchnachrichten in diesem Beispiel handelt.
    Triggername - Verbrauchsworkflows: Der Wert ist bereits ausgefüllt.
    - Standard: Geben Sie den Triggernamen aus dem Batchempfängerworkflow ein.

    Screenshot der BatchX12Messages-Aktion, in der Sie die Batchparameter festlegen.

  5. Speichern Sie den Workflow.

    Ihr Batch-Absender sieht wie im folgenden Beispiel aus:

    Screenshot des Workflows Ihrer Logik-App für Batch-Sender.

Testen Ihres Workflows

Senden Sie HTTP POST-Anforderungen mit X12-Nachrichten an ihren Batch-Absender, um ihre Batchlösung über ihr HTTP-Anforderungstool zu testen. Wenn Sie die Beispielwerte verwendet haben, beginnen Sie mit dem Abrufen von X12-Nachrichten in Ihrem Anforderungscontainer, entweder alle 10 Minuten oder in Batches von 10, alle mit demselben Partitionsschlüssel.