Azure Logic Apps 'te likit şablonlar ile gelişmiş JSON dönüştürmeleri gerçekleştirinPerform advanced JSON transformations with Liquid templates in Azure Logic Apps

Mantıksal uygulamalarınızda, JSON oluşturma veya ayrıştırmagibi yerel veri Işleme eylemleriyle temel JSON dönüşümleri gerçekleştirebilirsiniz.You can perform basic JSON transformations in your logic apps with native data operation actions such as Compose or Parse JSON. Gelişmiş JSON dönüştürmeleri gerçekleştirmek için, esnek Web uygulamalarına yönelik açık kaynaklı bir şablon dili olan likitile şablonlar veya haritalar oluşturabilirsiniz.To perform advanced JSON transformations, you can create templates or maps with Liquid, which is an open-source template language for flexible web apps. Bir likit şablon, JSON çıkışının nasıl dönüştürüleceğini ve yinelemeler, denetim akışları, değişkenler vb. gibi daha karmaşık JSON dönüştürmelerinin nasıl desteklediğine ilişkin tanımlar.A Liquid template defines how to transform JSON output and supports more complex JSON transformations, such as iterations, control flows, variables, and so on.

Mantıksal uygulamanızda bir likit dönüştürme gerçekleştirebilmek için önce JSON ile JSON eşlemeyi bir sıvı şablonuyla tanımlamanız ve bu eşlemeyi tümleştirme hesabınızda depolamanız gerekir.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. Bu makalede, bu likit şablon veya haritanın nasıl oluşturulduğu ve kullanılacağı gösterilir.This article shows you how to create and use this Liquid template or map.

ÖnkoşullarPrerequisites

Tümleştirme hesabınız için likit şablon veya eşleme oluşturmaCreate Liquid template or map for your integration account

  1. Bu örnekte, bu adımda açıklanan örnek likit şablonunu oluşturun.For this example, create the sample Liquid template described in this step. Sıvı şablonunuzda, dotlikit ve C# adlandırma kurallarını kullanan sıvı filtrelerinikullanabilirsiniz.In your Liquid template, you can use Liquid filters, which use DotLiquid and C# naming conventions.

    Not

    Filtre adlarının şablonunuzda tümce kullanmasına dikkat edin.Make sure the filter names use sentence casing in your template. Aksi takdirde, filtreler çalışmaz.Otherwise, the filters won't work.

    {%- 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. Azure Portal oturum açın.Sign in to the Azure portal. Ana Azure menüsünde tüm kaynaklar' ı seçin.On the main Azure menu, select All resources. Arama kutusunda, tümleştirme hesabınızı bulun ve seçin.In the search box, find and select your integration account.

    Tümleştirme hesabı seçin

  3. Bileşenleraltında haritalar' ı seçin.Under Components, select Maps.

    Haritaları Seç

  4. Ekle ' yi seçin ve Haritalarınız için bu ayrıntıları sağlayın:Choose Add and provide these details for your map:

    ÖzellikProperty ValueValue AçıklamaDescription
    NameName JsonToJsonTemplateJsonToJsonTemplate Bu örnekteki "JsonToJsonTemplate" olan haritaınızın adıThe name for your map, which is "JsonToJsonTemplate" in this example
    Eşleme türüMap type sıvıliquid Haritalarınızın türü.The type for your map. JSON-JSON dönüştürmesi için likit' i seçmeniz gerekir.For JSON to JSON transformation, you must select liquid.
    HaritaMap "SimpleJsonToJsonTemplate. sıvı""SimpleJsonToJsonTemplate.liquid" Bu örnekte "SimpleJsonToJsonTemplate. sıvı" olan dönüştürme için kullanılacak mevcut bir likit şablon veya eşleme dosyası.An existing Liquid template or map file to use for transformation, which is "SimpleJsonToJsonTemplate.liquid" in this example. Bu dosyayı bulmak için dosya seçiciyi kullanabilirsiniz.To find this file, you can use the file picker.

    Likit Şablon Ekle

JSON dönüştürmesi için likit eylemi eklemeAdd the Liquid action for JSON transformation

  1. Azure portal boş bir mantıksal uygulama oluşturmakiçin aşağıdaki adımları izleyin.In the Azure portal, follow these steps to create a blank logic app.

  2. Mantıksal uygulama Tasarımcısı ' nda, mantıksal uygulamanıza istek tetikleyiciyi ekleyin.In the Logic App Designer, add the Request trigger to your logic app.

  3. Tetikleyici altında yeni adım' ı seçin.Under the trigger, choose New step. Arama kutusuna filtreniz olarak "likit" yazın ve şu eylemi seçin: JSON 'ı JSON 'a Dönüştür-sıvıIn the search box, enter "liquid" as your filter, and select this action: Transform JSON to JSON - Liquid

    Sıvı eylemini bul ve Seç

  4. Dinamik içerik listesinin görünmesi için içerik kutusunun içine tıklayın ve gövde belirtecini seçin.Click inside the Content box so that the dynamic content list appears, and select the Body token.

    Gövde Seç

  5. Eşleme listesinden, bu örnekte "JsonToJsonTemplate" olan sıvı şablonunuzu seçin.From the Map list, select your Liquid template, which is "JsonToJsonTemplate" in this example.

    Eşleme Seç

    Haritalar listesi boşsa, büyük olasılıkla mantıksal uygulamanız tümleştirme hesabınıza bağlı değildir.If the maps list is empty, most likely your logic app is not linked to your integration account. Mantıksal uygulamanızı likit şablon veya eşleme içeren tümleştirme hesabına bağlamak için şu adımları izleyin:To link your logic app to the integration account that has the Liquid template or map, follow these steps:

    1. Mantıksal uygulama menünüzde Iş akışı ayarları' nı seçin.On your logic app menu, select Workflow settings.

    2. Tümleştirme hesabı seçin listesinden tümleştirme hesabınızı seçin ve Kaydet' i seçin.From the Select an Integration account list, select your integration account, and choose Save.

      Mantıksal uygulamayı tümleştirme hesabına bağlama

Mantıksal uygulamanızı test etmeTest your logic app

JSON girişini Postman veya benzer bir araçtan mantıksal uygulamanıza gönderin.Post JSON input to your logic app from Postman or a similar tool. Mantıksal uygulamanızdan dönüştürülmüş JSON çıktısı şu örneğe benzer şekilde görünür:The transformed JSON output from your logic app looks like this example:

Örnek çıkış

Diğer likit eylem örnekleriMore Liquid action examples

Sıvı yalnızca JSON dönüşümlerine sınırlı değildir.Liquid is not limited to only JSON transformations. Aşağıda, sıvı kullanan diğer kullanılabilir dönüştürme eylemleri verilmiştir.Here are other available transformation actions that use Liquid.

  • JSON 'ı metne DönüştürTransform JSON to text

    Bu örnek için kullanılan likit şablon aşağıda verilmiştir:Here is the Liquid template used for this example:

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

    Örnek girişler ve çıktılar aşağıda verilmiştir:Here are sample inputs and outputs:

    Örnek çıkış JSON-Text

  • XML-JSON dönüştürmesi uygulaTransform XML to JSON

    Bu örnek için kullanılan likit şablon aşağıda verilmiştir:Here is the Liquid template used for this example:

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

    Örnek girişler ve çıktılar aşağıda verilmiştir:Here are sample inputs and outputs:

    Örnek çıkış XML-JSON

  • XML 'e metin dönüştürmeTransform XML to text

    Bu örnek için kullanılan likit şablon aşağıda verilmiştir:Here is the Liquid template used for this example:

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

    Örnek girişler ve çıktılar aşağıda verilmiştir:Here are sample inputs and outputs:

    Örnek çıkış XML-Text

Sonraki adımlarNext steps

  • [Enterprise Integration Pack hakkında daha fazla bilgi edinin] (../logic-apps/logic-apps-enterprise-integration-overview.md "Enterprise Integration Pack hakkında bilgi edinin")Learn more about the Enterprise Integration Pack
  • [Haritalar hakkında daha fazla bilgi edinin] (../logic-apps/logic-apps-enterprise-integration-maps.md "Kurumsal tümleştirme haritaları hakkında bilgi edinin")Learn more about maps