Codieren und Decodieren von Flatfiles in Azure Logic Apps

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

Bevor Sie XML-Inhalt in einem B2B-Szenario (Business-to-Business) an einen Geschäftspartner senden, möchten Sie den Inhalt eventuell zuerst codieren. Wenn Sie codierten XML-Inhalt erhalten, müssen Sie diesen Inhalt zuerst decodieren. Wenn Sie einen Logik-App-Workflow in Azure Logic Apps erstellen, können Sie Flatfiles mithilfe der integrierten Flatfile-Connectoraktionen und eines Flatfile-Schemas für die Codierung und Decodierung codieren und decodieren. Sie können Flatfile-Aktionen in mehrinstanzenfähigen Verbrauchs-Logik-App-Workflows und Standard-Logik-App-Workflows mit Einzelinstanz verwenden.

Solange keine Flatfile-Trigger verfügbar sind, können Sie beliebige Trigger oder Aktionen verwenden, um den XML-Quellinhalt in Ihren Workflow zu übergeben. Sie können beispielsweise einen integrierten Connectortrigger, einen verwalteten oder von Azure gehosteten Connectortrigger, der für Azure Logic Apps verfügbar ist, oder sogar eine andere App verwenden.

In diesem Artikel wird gezeigt, wie Sie Ihrem Workflow die Flatfile-Aktionen für die Codierung und Decodierung hinzufügen.

  • Fügen Sie Ihrem Workflow eine Flatfile-Codierungs- oder -Decodierungsaktion hinzu.
  • Wählen Sie das gewünschte Schema aus.

Weitere Informationen finden Sie in der folgenden Dokumentation:

Voraussetzungen

  • Ein Azure-Konto und ein Azure-Abonnement. Sollten Sie noch kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.

  • Der Logik-App-Workflow (leer oder bereits vorhanden), in dem Sie die Flatfile-Aktion verwenden möchten.

    Wenn Sie über einen leeren Workflow verfügen, verwenden Sie einen beliebigen Trigger zum Starten des Workflows. In diesem Beispiel wird der Anforderungstrigger verwendet.

  • Ihre Logik-App-Ressource und Ihr Workflow. Flatfile-Vorgänge beinhalten keine Trigger, sodass Ihr Workflow zumindest einen Trigger enthalten muss. Weitere Informationen finden Sie in der folgenden Dokumentation:

  • Das Flatfile-Schema, das zum Codieren und Decodieren des XML-Inhalts verwendet werden soll. Weitere Informationen finden Sie unter Hinzufügen von Schemas für die Verwendung mit Workflows in Azure Logic Apps .

  • Basierend darauf, ob Sie einen Verbrauchs- oder Standard-Logik-App-Workflow erstellen, benötigen Sie eine Integrationskontoressource. Normalerweise benötigen Sie diese Ressource, wenn Sie Artefakte für die Verwendung in Unternehmensintegrations- und B2B-Workflows definieren und speichern möchten.

    Wichtig

    Für die Zusammenarbeit müssen sowohl Ihre Integrationskonto- als auch Ihre Logik-App-Ressource in demselben Azure-Abonnement und in derselben Azure-Region vorhanden sein.

    • Wenn Sie an einem Verbrauchs-Logik-App-Workflow arbeiten, muss Ihre Logik-App-Ressource mit Ihrem Integrationskonto verknüpft werden.

    • Wenn Sie an einem Standard-Logik-App-Workflow arbeiten, können Sie Ihre Logik-App-Ressource mit Ihrem Integrationskonto verknüpfen, Schemas direkt in Ihre Logik-App-Ressource hochladen oder beides, basierend auf den folgenden Szenarien:

      • Wenn Sie bereits über ein Integrationskonto mit den Artefakten verfügen, die Sie benötigen oder verwenden möchten, können Sie Ihr Integrationskonto mit mehreren Standard-Logik-App-Ressourcen verknüpfen, in denen Sie die Artefakte verwenden möchten. Auf diese Weise müssen Sie keine Schemas in die einzelnen Logik-Apps hochladen. Weitere Informationen finden Sie im Artikel zum Verknüpfen Ihrer Logik-App-Ressource mit Ihrem Integrationskonto.

      • Mit dem integrierten Flatfile-Connector können Sie ein Schema auswählen, das Sie zuvor in Ihre Logik-App-Ressource oder in ein verknüpftes Integrationskonto (aber nicht in beides), hochgeladen haben. Sie können dieses Artefakt anschließend in allen untergeordneten Workflows innerhalb derselben Logik-App-Ressource nutzen.

      Wenn Sie also kein Integrationskonto haben oder benötigen, können Sie die Uploadoption verwenden. Andernfalls können Sie die Verknüpfungsoption verwenden. In beiden Fällen können Sie diese Artefakte in allen untergeordneten Workflows innerhalb derselben Logik-App-Ressource verwenden.

Einschränkungen

  • XML-Inhalte, die Sie decodieren möchten, müssen im UTF-8-Format codiert werden.

  • Vergewissern Sie sich in Ihrem Flatfile-Schema, dass in den enthaltenen XML-Gruppen die max count-Eigenschaft nicht zu häufig auf einen Wert größer als 1 festgelegt ist. Vermeiden Sie die Verschachtelung einer XML-Gruppe mit einem max count Eigenschaftswert größer als 1 innerhalb einer anderen XML-Gruppe mit einer max count Eigenschaft größer als 1.

  • Bei jedem Parsen des Flatfile-Schemas durch Azure Logic Apps und immer, wenn das Schema die Wahl des nächsten Fragments zulässt, generiert Azure Logic Apps ein Symbol und eine Vorhersage für dieses Fragment. Wenn das Schema zu viele solche Konstrukte zulässt, z. B. mehr als 100.000, wird die Schemaerweiterung übermäßig groß, was zu viel Ressourcen und Zeit verbraucht.

Schema hochladen

Nachdem Sie Ihr Schema erstellt haben, müssen Sie nun das Schema basierend auf dem folgenden Szenario hochladen:

Hinzufügen einer Flatfile-Codierungsaktion

  1. Öffnen Sie Ihren Logik-App-Workflow über das Azure-Portal im Workflow-Designer, wenn er nicht bereits geöffnet ist.

  2. Wenn Ihr Workflow keinen Trigger und keine anderen Aktionen enthält, die Ihr Workflow benötigt, fügen Sie diese Vorgänge zuerst hinzu. Bei Flatfile-Vorgängen sind keine Trigger verfügbar.

    In diesem Beispiel wird der Anforderungstrigger mit dem Namen Beim Empfang einer HTTP-Anforderung verwendet.

  3. Wählen Sie im Workflow-Designer unter dem Schritt, in dem Sie die Flatfile-Aktion hinzufügen möchten, Neuer Schritt aus.

  4. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Integriert aus. Geben Sie in das Suchfeld flat file (Flatfile) ein.

  5. Wählen Sie in der Aktionenliste die Aktion namens Flatfile-Codierung aus.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. Geben Sie in der Eigenschaft Inhalt der Aktion die Ausgabe des Triggers oder einer vorherigen Aktion an, die Sie codieren möchten, indem Sie die folgenden Schritte ausführen:

    1. Klicken Sie in das Feld Inhalt, sodass die dynamische Inhaltsliste angezeigt wird.

    2. Wählen Sie in der Liste dynamischer Inhalte den Flatfile-Inhalt aus, den Sie codieren möchten.

      Wählen Sie in diesem Beispiel in der dynamischen Inhaltsliste unter Beim Empfang einer HTTP-Anforderung das Token Text aus, das die Textinhaltsausgabe des Triggers darstellt.

    Screenshot showing Consumption workflow designer and

    Hinweis

    Wenn die Eigenschaft Body (Textkörper) nicht in der dynamischen Inhaltsliste angezeigt wird, wählen Sie Mehr anzeigen neben der Abschnittsbezeichnung Beim Empfang einer HTTP-Anforderung aus. Sie können den zu codierenden Inhalt auch direkt in das Feld Inhalt eingeben.

  7. Wählen Sie in der Liste Schemaname Ihr Schema aus.

    Screenshot showing Consumption workflow designer and opened

    Hinweis

    Wenn die Schemaliste leer ist, ist ihre Logik-App-Ressource entweder nicht mit Ihrem Integrationskonto verknüpft, oder Ihr Integrationskonto enthält keine Schemadateien.

    Wenn Sie fertig sind, sieht Ihre Aktion ähnlich wie folgt aus:

    Screenshot showing Consumption workflow with finished

  8. Um der Aktion weitere optionale Parameter hinzuzufügen, wählen Sie diese Parameter aus der Liste Neuen Parameter hinzufügen aus.

    Parameter Wert BESCHREIBUNG
    Modus der Generierung leerer Knoten ForcedDisabled oder HonorSchemaNodeProperty oder ForcedEnabled Der Modus, der zur Generierung leerer Knoten bei der Flatfile-Codierung verwendet werden soll.

    Für BizTalk verfügt das Flatfile-Schema über eine Eigenschaft, die die Generierung leerer Knoten steuert. Sie können entweder das Verhalten der Eigenschaft für die Generierung leerer Knoten für Ihr Flatfile-Schema befolgen oder diese Einstellung verwenden, damit Azure Logic Apps leere Knoten generieren oder auslassen. Weitere Informationen finden Sie unter Tags für leere Elemente.
    XML-Normalisierung Ja oder Nein Die Einstellung zum Aktivieren oder Deaktivieren der XML-Normalisierung bei der Flatfile-Codierung. Weitere Informationen finden Sie unter XmlTextReader.Normalization.
  9. Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

Hinzufügen einer Flatfile-Decodierungsaktion

  1. Öffnen Sie Ihren Logik-App-Workflow über das Azure-Portal im Workflow-Designer, wenn er nicht bereits geöffnet ist.

  2. Wenn Ihr Workflow keinen Trigger und keine anderen Aktionen enthält, die Ihr Workflow benötigt, fügen Sie diese Vorgänge zuerst hinzu. Bei Flatfile-Vorgängen sind keine Trigger verfügbar.

    In diesem Beispiel wird der Anforderungstrigger mit dem Namen Beim Empfang einer HTTP-Anforderung verwendet.

  3. Wählen Sie im Workflow-Designer unter dem Schritt, in dem Sie die Flatfile-Aktion hinzufügen möchten, Neuer Schritt aus.

  4. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Integriert aus. Geben Sie in das Suchfeld flat file (Flatfile) ein.

  5. Wählen Sie in der Aktionenliste die Aktion namens Flatfile-Decodierung aus.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. Geben Sie in der Eigenschaft Inhalt der Aktion die Ausgabe des Triggers oder einer vorherigen Aktion an, die Sie decodieren möchten, indem Sie die folgenden Schritte ausführen:

    1. Klicken Sie in das Feld Inhalt, sodass die dynamische Inhaltsliste angezeigt wird.

    2. Wählen Sie in der Liste dynamischer Inhalte den Flatfile-Inhalt aus, den Sie codieren möchten.

      Wählen Sie in diesem Beispiel in der dynamischen Inhaltsliste unter Beim Empfang einer HTTP-Anforderung das Token Text aus, das die Textinhaltsausgabe des Triggers darstellt.

    Screenshot showing the Consumption workflow designer and

    Hinweis

    Wenn die Eigenschaft Body (Textkörper) nicht in der dynamischen Inhaltsliste angezeigt wird, wählen Sie Mehr anzeigen neben der Abschnittsbezeichnung Beim Empfang einer HTTP-Anforderung aus. Sie können den zu codierenden Inhalt auch direkt in das Feld Inhalt eingeben.

  7. Wählen Sie in der Liste Schemaname Ihr Schema aus.

    Screenshot showing Consumption workflow designer and opened

    Hinweis

    Wenn die Schemaliste leer ist, ist ihre Logik-App-Ressource entweder nicht mit Ihrem Integrationskonto verknüpft, oder Ihr Integrationskonto enthält keine Schemadateien.

    Wenn Sie fertig sind, sieht Ihre Aktion ähnlich wie folgt aus:

    Screenshot showing Consumption workflow with finished

  8. Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

Das Einrichten der Aktion „Flatfile decodieren“ ist damit abgeschlossen. In einer echten App empfiehlt es sich ggf., die decodierten Daten in einer branchenspezifischen App wie Salesforce zu speichern. Sie können die decodierten Daten auch an einen Handelspartner senden. Um die Ausgabe der Decodieraktion an Salesforce oder Ihren Handelspartner zu senden, verwenden Sie die anderen in Azure Logic Apps verfügbaren Connectors:

Testen Ihres Workflows

  1. Senden Sie mithilfe von Postman oder einem ähnlichen Tool und der POST-Methode einen Aufruf an die URL des Anforderungstriggers, die in der HTTP POST URL-Eigenschaft des Anforderungstriggers vorkommt, und schließen Sie den XML-Inhalt, den Sie codieren oder decodieren möchten, in den Anforderungstext ein.

  2. Nach Abschluss der Ausführung Ihres Workflows wechseln Sie zum Ausführungsverlauf des Workflows, und untersuchen Sie die Ein- und Ausgaben der Flatfile-Aktion.

Nächste Schritte