Ausführen erweiterter JSON-Transformationen mit Liquid-Vorlagen in Azure Logic AppsPerform advanced JSON transformations with Liquid templates in Azure Logic Apps

Sie können grundlegende JSON-Transformationen in Ihren Logik-Apps über native Datenvorgangsaktionen wie JSON erstellen oder JSON analysieren durchführen.You can perform basic JSON transformations in your logic apps with native data operation actions such as Compose or Parse JSON. Sie können Vorlagen oder Zuordnungen mit Liquid erstellen, einer Open Source-Vorlagensprache für flexible Web-Apps, um erweiterte JSON-Transformationen durchzuführen.To perform advanced JSON transformations, you can create templates or maps with Liquid, which is an open-source template language for flexible web apps. Eine Liquid-Vorlagen definiert, wie JSON-Ausgaben umgewandelt werden. Dazu unterstützt Liquid komplexere JSON-Transformationen wie Iterationen, Ablaufsteuerungen, Variablen usw. unterstützen kann.A Liquid template defines how to transform JSON output and supports more complex JSON transformations, such as iterations, control flows, variables, and so on.

Bevor Sie eine Liquid-Transformation in Ihrer Logik-App ausführen können, müssen Sie daher zunächst eine JSON-zu-JSON-Zuordnung mit einer Liquid-Vorlage definieren und die Zuordnung in Ihrem Integrationskonto speichern.Before you can perform a Liquid transformation in your logic app, you must first define the JSON to JSON mapping with a Liquid template and store that map in your integration account. Dieser Artikel zeigt, wie diese Liquid-Vorlage bzw. -Zuordnung erstellt und verwendet wird.This article shows you how to create and use this Liquid template or map.

VoraussetzungenPrerequisites

Erstellen einer Liquid-Vorlage oder -Zuordnung für Ihr IntegrationskontoCreate Liquid template or map for your integration account

  1. Erstellen Sie für dieses Beispiel die Liquid-Beispielvorlage, die in diesem Schritt beschrieben wird.For this example, create the sample Liquid template described in this step. In Ihrer Liquid-Vorlage können Sie Liquid-Filter einsetzen, die DotLiquid- und C#-Benennungskonventionen verwenden.In your Liquid template, you can use Liquid filters, which use DotLiquid and C# naming conventions.

    Hinweis

    Stellen Sie sicher, dass die Filternamen die normale Groß-/Kleinschreibung in Ihrer Vorlage verwenden.Make sure the filter names use sentence casing in your template. Andernfalls funktionieren die Filter nicht.Otherwise, the filters won't work. Außerdem haben Karten Dateigrößenbeschränkung.Also, maps have file size limits.

    {%- assign deviceList = content.devices | Split: ', ' -%}
    
    {
       "fullName": "{{content.firstName | Append: ' ' | Append: content.lastName}}",
       "firstNameUpperCase": "{{content.firstName | Upcase}}",
       "phoneAreaCode": "{{content.phone | Slice: 1, 3}}",
       "devices" : [
          {%- for device in deviceList -%}
             {%- if forloop.Last == true -%}
             "{{device}}"
             {%- else -%}
             "{{device}}",
             {%- endif -%}
         {%- endfor -%}
         ]
    }
    
  2. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal. Wählen Sie im Azure-Hauptmenü die Option Alle Ressourcen aus.On the main Azure menu, select All resources. Suchen Sie im Suchfeld nach Ihrem Integrationskonto, und wählen Sie es aus.In the search box, find and select your integration account.

    Auswählen des Integrationskontos

  3. Wählen Sie unter Komponenten die Option Zuordnungen aus.Under Components, select Maps.

    Auswählen von Zuordnungen

  4. Wählen Sie Hinzufügen aus, und geben Sie dann die folgenden Details für die Zuordnung an:Choose Add and provide these details for your map:

    EigenschaftProperty valueValue BESCHREIBUNGDescription
    NameName JsonToJsonTemplateJsonToJsonTemplate Der Name für Ihre Zuordnung, der in diesem Beispiel „JsonToJsonTemplate“ lautet.The name for your map, which is "JsonToJsonTemplate" in this example
    ZuordnungstypMap type Liquidliquid Der Typ Ihrer Zuordnung.The type for your map. Bei JSON-zu-JSON-Transformationen müssen Sie liquid auswählen.For JSON to JSON transformation, you must select liquid.
    MapMap "SimpleJsonToJsonTemplate.liquid""SimpleJsonToJsonTemplate.liquid" Eine vorhandene Liquid-Vorlagen- oder -Zuordnungsdatei, die für die Transformation verwendet wird. In diesem Beispiel heißt die Datei „SimpleJsonToJsonTemplate.liquid“.An existing Liquid template or map file to use for transformation, which is "SimpleJsonToJsonTemplate.liquid" in this example. Sie können die Dateiauswahl verwenden, um diese Datei zu suchen.To find this file, you can use the file picker. Informationen zu Größenbeschränkungen für Karten finden Sie unter Grenzwerte und Konfiguration.For map size limits, see Limits and configuration.

    Hinzufügen der Liquid-Vorlage

Hinzufügen der Liquid-Aktion für die JSON-TransformationAdd the Liquid action for JSON transformation

  1. Führen Sie die folgenden Schritte aus, um über das Azure-Portal eine Ressourcengruppe zu erstellen.In the Azure portal, follow these steps to create a blank logic app.

  2. Fügen Sie Ihrer Logik-App im Logik-App-Designer den Anforderungstrigger hinzu.In the Logic App Designer, add the Request trigger to your logic app.

  3. Wählen Sie unter dem Trigger die Option Neuer Schritt aus.Under the trigger, choose New step. Geben Sie im Suchfeld „liquid“ als Filter ein, und wählen Sie diese Aktion aus: Liquid – Von JSON in JSON transformieren.In the search box, enter "liquid" as your filter, and select this action: Transform JSON to JSON - Liquid

    Suchen und Auswählen von Liquid-Aktionen

  4. Klicken Sie in das Feld Inhalt, damit die dynamische Inhaltsliste angezeigt wird, und wählen Sie das Textkörpertoken aus.Click inside the Content box so that the dynamic content list appears, and select the Body token.

    Auswählen eines Textkörpers

  5. Wählen Sie in der Liste Zuordnung Ihre Liquid-Vorlage aus, die in diesem Beispiel „JsonToJsonTemplate“ heißt.From the Map list, select your Liquid template, which is "JsonToJsonTemplate" in this example.

    Auswählen einer Zuordnung

    Wenn die Zuordnungsliste keine Einträge enthält, ist Ihre Logik-App höchstwahrscheinlich nicht mit Ihrem Integrationskonto verknüpft.If the maps list is empty, most likely your logic app is not linked to your integration account. Führen Sie die folgenden Schritte aus, um Ihre Logik-App mit dem Integrationskonto zu verknüpfen, das die Liquid-Vorlage oder -Zuordnung enthält:To link your logic app to the integration account that has the Liquid template or map, follow these steps:

    1. Wählen Sie im Menü Ihrer Logik-App die Option Workfloweinstellungen aus.On your logic app menu, select Workflow settings.

    2. Wählen Sie in der Liste Wählen Sie ein Integrationskonto aus Ihr Integrationskonto aus, und wählen Sie dann Speichern aus.From the Select an Integration account list, select your integration account, and choose Save.

      Verknüpfen der Logik-App mit dem Integrationskonto

Testen Ihrer Logik-AppTest your logic app

Senden Sie die JSON-Eingabe über Postman oder ein ähnliches Tool an Ihre Logik-App.Post JSON input to your logic app from Postman or a similar tool. Die transformierte JSON-Ausgabe von der Logik-App sieht wie im folgenden Beispiel dargestellt aus:The transformed JSON output from your logic app looks like this example:

Beispielausgabe

Weitere Beispiele für Liquid-AktionenMore Liquid action examples

Liquid ist nicht beschränkt auf JSON-Transformationen.Liquid is not limited to only JSON transformations. Hier finden Sie andere verfügbare Transformationsaktionen, die Liquid verwenden.Here are other available transformation actions that use Liquid.

  • Transformieren von JSON in TextTransform JSON to text

    Dies ist die Liquid-Vorlage, die für dieses Beispiel verwendet wurde:Here is the Liquid template used for this example:

    {{content.firstName | Append: ' ' | Append: content.lastName}}
    

    Nachfolgend finden Sie Beispieleingaben und -ausgaben:Here are sample inputs and outputs:

    Beispielausgabe JSON in Text

  • Transformieren von XML in JSONTransform XML to JSON

    Dies ist die Liquid-Vorlage, die für dieses Beispiel verwendet wurde:Here is the Liquid template used for this example:

    [{% JSONArrayFor item in content -%}
          {{item}}
      {% endJSONArrayFor -%}]
    

    Nachfolgend finden Sie Beispieleingaben und -ausgaben:Here are sample inputs and outputs:

    Beispielausgabe XML in JSON

  • Transformieren von XML in TextTransform XML to text

    Dies ist die Liquid-Vorlage, die für dieses Beispiel verwendet wurde:Here is the Liquid template used for this example:

    {{content.firstName | Append: ' ' | Append: content.lastName}}
    

    Nachfolgend finden Sie Beispieleingaben und -ausgaben:Here are sample inputs and outputs:

    Beispielausgabe XML in Text

Nächste SchritteNext steps