Azure Logic Apps'te Visual Studio Code ile iş akışları için veri dönüştürmek için haritalar oluştur

Şunlar için geçerlidir: Azure Logic Apps (Standart)

Bir mantıksal uygulama iş akışında farklı XML veya JSON biçimlerini kullanan iletilerle alışveriş yaptığınızda, verileri kaynak biçimden hedef biçime nasıl dönüştüreceğinizi veya çevireceğinizi belirtmeniz gerekir; örneğin, XML belgeleri arasında ya da JSON belgeleri arasında. Bu görev özellikle kaynak ve hedef şemalardaki veri yapıları arasında boşluklar olduğunda önemlidir. Şema, XML veya JSON belgesindeki veri öğelerini, öznitelikleri ve veri türlerini açıklar.

Veri yapıları arasında dönüşümleri tanımlamak ve boşlukları kapatmak için, kaynak ve hedef şemalardaki veri öğeleri arasındaki ilişkileri belirten bir eşleme (.xslt dosyası) oluşturabilirsiniz. Standart mantıksal uygulama projesi bağlamında Azure Logic Apps (Standart) uzantısıyla Visual Studio Code kullanarak görsel olarak harita oluşturabilir veya düzenleyebilirsiniz. Veri Eşleyici aracı, sürükle ve bırak hareketlerini, ifade oluşturmak için önceden oluşturulmuş işlevleri ve iş akışlarınızda kullanmadan önce eşlemeleri el ile test etmenin bir yolunu kullanarak eşleme ve dönüştürme için birleşik bir deneyim sağlar.

Haritanızı oluşturduktan sonra, bu eşlemeyi mantıksal uygulama projenizdeki bir iş akışından veya Azure portalındaki Standart mantıksal uygulama iş akışından doğrudan çağırabilirsiniz. Bu görev için, iş akışınızda Veri Eşleyici XSLT kullanarak Dönüştür adlı Veri Eşleyici İşlemleri eylemini kullanabilirsiniz.

Bu nasıl yapılır kılavuzu boş bir veri eşlemesi oluşturmayı, kaynak ve hedef şemalarınızı seçmeyi, şema öğeleri arasında çeşitli türlerde eşlemeler oluşturmayı, eşlemenizi kaydedip test etmeyi ve ardından mantıksal uygulama projenizdeki bir iş akışından eşlemeyi çağırmayı gösterir.

Sınırlamalar ve bilinen sorunlar

  • Veri Eşleyici şu anda yalnızca Visual Studio Code'da kullanılabilir; Azure portalında değil, yalnızca Standart mantıksal uygulama projelerinde kullanılabilir, Tüketim mantıksal uygulama projelerinde kullanılamaz.

    Veri Eşleyicisi için ön uç deneyimi , Azure Logic Apps ekibinin genel GitHub deposunda açık kaynak olarak kullanılabilir. Daha fazla bilgi için aşağıdaki kaynaklara bakın:

  • Veri Eşleyicisi şu anda yalnızca Windows işletim sistemlerinde çalışan Visual Studio Code'da çalışır.

  • Veri Eşleyici şu anda virgülle ayrılmış değerler (.csv) dosya biçimini kullanan şemaları desteklememektedir.

  • Data Mapper içindeki Kod bölmesi şu anda yalnızca okunabilir.

  • Veri eşleyici yüzeyinde, işlevlerin düzeni ve konumları taşınabilir, ancak şema düğümleri statiktir.

  • Filter işlevi, ">=10" gibi çift tırnak içine alınmış sayısal koşulları doğru işler. Ancak, bu işlev şu anda bir öğe adının "= 'Kalem' olup olmadığını denetleme gibi dize karşılaştırmaları için tutarlı bir şekilde davranmıyor.

  • Kaynak ve hedef şemalardaki üst dizi öğeleri arasında eşleme oluşturduğunuzda, eşleyici otomatik olarak dizi öğesi öğeleri arasında yinelemek için bir döngü ekler. Ancak, yine de kaynak ve hedef dizi öğesi öğeleri arasında açıkça eşlemeler oluşturmanız gerekir.

  • Veri Eşleyicisi ile oluşturulan eşlemeleri çağırmak için yalnızca Veri Eşleyici XSLT kullanarak Dönüştür adlı Veri Eşleyici İşlemleri eylemini kullanabilirsiniz. Başka bir araç tarafından oluşturulan eşlemeler için, XML'yi Dönüştür adlı XML İşlemleri eylemini kullanın.

  • Veri Eşleyici ile oluşturduğunuz eşlemeleri Azure portalındaki iş akışlarıyla kullanmak için bunları doğrudan Standart mantıksal uygulama kaynağınıza eklemeniz gerekir.

Engelleyici olmayan hatalar veya özellik istekleri için, Azure Logic Apps ekibi için GitHub deposunda Veri Eşleyici etiketine sahip bir öğe açın.

Önkoşullar

Veri eşlemesi oluşturun

  1. Visual Studio Code'da Standart mantıksal uygulama projenizin klasörünü açın.

  2. Visual Studio Code sol menüsünde Azure simgesini seçin.

  3. Azure penceresinde, Veri Eşleyicisi'nin altında Veri eşlemesi oluştur'u seçin.

    Azure penceresinin ve Veri eşlemesi oluştur düğmesinin seçili olduğu Visual Studio Code'u gösteren ekran görüntüsü.

    Visual Studio Code başlık çubuğunda, haritanız için bir ad girebilmeniz için bir istem kutusu açılır.

  4. Bilgi istemi kutusuna harita için bir ad girin.

    Bu kılavuz için bu adımlarda Example-data-map adı kullanılır.

    Ekran görüntüsü, istem kutusunu ve örnek veri eşleme adını gösterir.

    Veri Eşleyicisi boş bir veri eşlemesi oluşturur ve açar.

  5. Aşağıdaki adımları izleyerek kaynak ve hedef şemalarınızı seçin:

    1. Kaynak bölmesinde, kaynak şemanızı bulup yüklemek için Yeni ekle>Gözat seçeneğini belirleyin.

      Yeni ekle ve Gözat seçenekleriyle Veri Eşleyici ve Kaynak bölmesini gösteren ekran görüntüsü.

      Kaynak şemanızı ekledikten sonra, Kaynak bölmesi kaynak şemadaki veri türleri için "düğümler" XML öğesiyle doldurulur, örneğin:

      Kaynak şeması XML öğesi düğümleriyle doldurulmuş Kaynak bölmesini gösteren ekran görüntüsü.

    2. Hedef bölmesinde, hedef şemanızı bulup yüklemek için Yeni ekle>Gözat seçeneğini belirleyin.

      Yeni ekle ve Gözat için seçili seçeneklerin yer olduğu Veri Eşleyici ve Hedef bölmesini gösteren ekran görüntüsü.

      Hedef şemanızı ekledikten sonra Hedef bölmesi, hedef şemadaki veri türleri için "düğümler" XML öğesiyle doldurulur, örneğin:

      Kaynak şema XML öğesi düğümleriyle doldurulmuş Hedef bölmesini gösteren ekran görüntüsü.

İpucu

Şemalarınızı yüklerken sorunlarla karşılaşırsanız, kaynak ve hedef şema dosyalarınızı mantıksal uygulama projenizin yerel Artifacts Şemaları/ klasörüne ekleyebilirsiniz. Bu senaryoda, Veri Eşleyicisi'nde kaynak ve hedef şemanızı belirtmek için, Kaynak ve Hedef bölmelerinde Yeni ekle'yi kullanmak yerine Var olanı seçin listesini açın ve şemanızı seçin.

Şema veri türleri

Aşağıdaki tabloda, şemada görünebilecek olası veri türleri açıklanmaktadır:

Simge Tür Daha fazla bilgi
Dizi veri türünü temsil eden simge. Karmaşık (Dizi) Öğeleri veya yinelenen öğe düğümlerini içerir.

Bir dizi öğesi de aşağıdaki bağlantı noktasını görüntüler:

Dizi öğesi bağlantı noktası simgesi.
Bool veri türünü temsil eden simge. Boole Yalnızca doğru veya yanlış
Karmaşık veri türünü temsil eden simge. Karmaşık JSON nesne türüne benzer, alt özellikler içeren bir XML nesnesi
DateTime veri türünü temsil eden simge. Tarih ve Saat
Ondalık veri türünü temsil eden simge. Ondalık
Tamsayı veri türünü temsil eden simge. Tamsayı Yalnızca tam sayılar
Dize veri türünü temsil eden simge. Dize

Öğeler arasında doğrudan eşleme oluşturma

Kaynak ve hedef şemalarda aynı türe sahip öğeler arasında basit bir dönüştürme belirtmek için şu adımları izleyin:

  1. Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.

  2. Eşleyici yüzeyinde, Kaynak bölmesinde, eşlemek istediğiniz kaynak öğeyi bulun.

    • Varsayılan olarak, üst öğeler alt öğelerini gösterecek şekilde otomatik olarak genişletilir.

    • Bu örnek kaynak öğeden eşlemeyi başlatır, ancak hedef öğeden eşlemeyi başlatmayı seçebilirsiniz.

  3. fare işaretçinizi, işaretçi artı işaretine (+ ) değişene kadar kaynak öğe adının yanındaki dairenin üzerinde hareket ettirin.

    Bu örnek, Çalışan Kimliği kaynak öğesinden başlayarak bir eşleme oluşturur.

    Kaynak öğenin üzerinde işaretçi bulunan Veri Eşleyici'yi gösteren ekran görüntüsü.

  4. Kaynak öğeyi Hedef bölmesindeki hedef öğenin dairesine bağlayacak şekilde sürükleyerek bir çizgi çizin.

    Bu örnek, kaynak öğeyle aynı veri türüne sahip kimlik hedef öğesiyle eşlemeyi tamamlar.

    Veri Eşleyicisi'ni, hedef öğenin üzerindeki işaretçiyi ve kaynak ile hedef öğeler arasındaki çizgiyi gösteren ekran görüntüsü.

    Şimdi aynı veri türlerine sahip her iki öğe arasında doğrudan eşleme oluşturdunuz.

    Ekran görüntüsü, kaynak ve hedef şemalardaki EmployeeID ile sırasıyla ID arasında tam bir eşleme olduğunu gösterir.

    Kod bölmesi, oluşturduğunuz eşleme ilişkisini gösterir:

    Kaynak ve hedef şemalarda Çalışan Kimliği ile Kimlik arasında sırasıyla doğrudan eşlemenin yer aldığı Kod bölmesini gösteren ekran görüntüsü.

    İpucu

    Eşlemelerinizde sorun olup olmadığını denetlemek için Sorunları görüntüle'yi seçin. Örneğin, eşleşmeyen veri türlerine sahip öğeler arasında eşleme oluşturursanız, Uyarılar sekmesindeki Sorunlar listesinde bir uyarı görüntülenir:

    Eşleşmeyen veri türleri arasındaki eşlemeyi gösteren ekran görüntüsü.

Öğeler arasında karmaşık bir eşleme oluşturma

Kaynak ve hedef şemalardaki öğeler arasında, örneğin birleştirmek istediğiniz veya farklı veri türlerine sahip olan öğeler arasında daha karmaşık bir dönüştürme belirtmek için, eşlemenizde istediğiniz dönüşümü gerçekleştiren bir veya daha fazla işlev kullanabilirsiniz.

Eşleştirici yüzeyinde işlev etiketi, işlev grubuna göre renk kodludur. İşlev adının yanında işlevin simgesi görüntülenir, örneğin:

Örnek işlev etiketini gösteren ekran görüntüsü.

Aşağıdaki tabloda işlev grupları ve kullanabileceğiniz bazı örnek işlevler listelenmektedir. Listenin tamamı için Veri Eşleyicisi'ndeki İşlevler listesine bakın.

Grup Örnek işlevler
Koleksiyon Ortalama, Sayım, Doğrudan Erişim, Ayrık değerler, Filtre, İndeks, Birleştirme, Maksimum, Minimum, Ters çevirme, Sıralama, Alt dizi, Toplam
Dönüşüm Tarihe, Tamsayıya, Sayıya, Dizeye
Tarih ve saat Gün, Geçerli Tarih, Geçerli Saat, Eşittir Tarihi Ekle
Mantıksal karşılaştırma Eşittir, Var, Büyük, Büyük veya eşittir, Eğer, Değilse, Sıfır, Null, Sayı, Dize, Az, Küçük veya Eşit, Mantıksal VE, Mantıksal DEĞİl, Mantıksal VEYA Eşit Değil
Matematik Mutlak Değer, Ekle, Arktanjant, Tavana Yuvarla, Kosinüs, Böl, Üstel, Üstel (taban 10), Tabana Yuvarla, Tam Sayı Bölme, Log, Log (taban 10), Mod, Çarp, Kuvvet, Yuvarla, Sinüs, Karekök, Çıkar, Tanjant
Dize Kod Noktalarını Dizeye Dönüştür, Birleştir, İçerir, Şununla Biter, Uzunluk, Küçük Harfe Dönüştür, Ad, Düzenli İfade Eşleşmeleri, Düzenli İfadeyle Değiştir, Değiştir, Şununla Başlar, Dizeyi Kod Noktalarına Dönüştür, Alt Dize, Sonrasındaki Alt Dize, Öncesindeki Alt Dize, Boşlukları Kaldır, Soldaki Boşlukları Kaldır, Sağdaki Boşlukları Kaldır, Büyük Harfe Dönüştür
Yardımcı Kopyala, Hata, XPath Çalıştır, Tarih/Saat Biçimlendir, Sayı Biçimlendir, XSLT Çalıştır

Eşleme olmadan işlev ekleme

Bu bölümdeki örnek, kaynak öğedeki verileri String'den hedef öğe türü olan DateTime'a dönüştürür. Örnek, önce eşleme oluşturmadan başlar ve tek bir girişi kabul eden To Date işlevini kullanır.

  1. Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.

  2. İşlevler listesinde, kullanmak istediğiniz işlevi bulun ve seçin. Bu işlev, işlevi eşleyici yüzeyine ekler. İşlevler listesi daraltılmışsa, eşleyicinin sol üst köşesinde işlev simgesini (İşlevler listesi simgesi.) seçin.

    Bu örnekte, Dönüştürme işlev grubunda bulunan To Date işlevi seçilir.

    To Date adlı seçili işlevi gösteren ekran görüntüsü.

    Not

    Eşlemede eşleme yoksa veya eşlemeye işlev eklediğinizde bir eşleme seçiliyse işlev görünür ancak herhangi bir öğeye veya başka işleve bağlı değildir, örneğin:

    To Date adlı bağlantısı kesilmiş işlevi gösteren ekran görüntüsü.

  3. İşlevi kaynak ve hedef öğelere bağlayın.

    1. Kaynak öğeyle işlevin sol kenarındaki daire arasına bir çizgi sürükleyin ve çizin. Kaynak öğeden veya işlevden başlayabilirsiniz.

      Bir kaynak öğe ile işlev arasındaki eşlemeyi gösteren ekran görüntüsü.

    2. İşlevin sağ kenarıyla hedef öğesi arasında bir çizgi sürükleyin ve çizin. Hedef öğeden veya işlevden başlayabilirsiniz.

      İşlev ve hedef öğe arasındaki eşlemeyi gösteren ekran görüntüsü.

    Kod bölmesi, oluşturduğunuz eşleme ilişkisini gösterir:

    Kaynak ve hedef öğeler arasında doğrudan eşleme ilişkisi olan Kod bölmesini gösteren ekran görüntüsü.

  4. Eşleştirici yüzeyinde işlev şeklini seçerek işlev ayrıntılarını görüntüleyin.

  5. Giriş sekmesinde, kullanılacak girişi onaylayın veya düzenleyin.

    “To Date” adlı işlevin Giriş sekmesini gösteren ekran görüntüsü.

    Bazı senaryolar, anında kaynak ve hedef öğe çiftinin ötesinde bir dönüştürme tanımlamayı gerektirir. Örneğin, bir dizi çifti ile öğeleri arasında bir dönüşüm tanımlamak için diziler arasında bir döngü oluşturmanız gerekir. Veya bir öğenin değeri bir koşulu karşıladığında bir görev gerçekleştirmek için öğeler arasına bir koşul eklemeniz gerekir.

Birden çok giriş kullanan bir işlev ekleme

Bu bölümdeki örnek, birden çok kaynak öğeyi giriş olarak birleştirir ve tek bir çıkışı hedef öğeye eşler. Örnek, birden çok girişi kabul eden Concat işlevini kullanır.

  1. Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.

  2. İşlevler listesinde, kullanmak istediğiniz işlevi bulun ve seçin. Bu işlev, işlevi eşleyici yüzeyine ekler.

    İşlevler listesi daraltılmışsa, eşleyicinin sol üst köşesinde işlev simgesini (İşlevler listesi simgesi.) seçin.

    Bu örnek, String işlev grubunda yer alan Concat işlevini seçer.

    Seçili Concat adlı işlevi gösteren ekran görüntüsü.

    Not

    Eşlemede eşleme yoksa veya eşlemeye işlev eklediğinizde bir eşleme seçiliyse işlev görünür ancak herhangi bir öğeye veya başka işleve bağlı değildir, örneğin:

    Ekran görüntüsü, Concat adlı bağlantısı kesilen işlevi gösterir.

  3. Eşleştirici yüzeyinde işlev şeklini seçerek işlev ayrıntılarını görüntüleyin.

  4. Giriş sekmesinde, giriş olarak kullanılacak kaynak şema öğelerini seçin.

    Bu örnek, işlev girişi olarak FirstName ve LastName kaynak şema öğelerini seçer. Eşleyici, kaynak öğelerle işlev arasında ilgili eşlemeleri otomatik olarak ekler.

    İşlev girişi olarak birden çok kaynak öğeyi gösteren ekran görüntüsü.

  5. Eşlemeyi tamamlamak için, işlevin sağ kenarıyla hedef öğesi arasında bir çizgi sürükleyin ve çizin. Hedef öğeden veya işlevden başlayabilirsiniz.

    Birden çok giriş, Concat işlevi ve hedef öğe arasındaki tamamlanmış eşlemeleri gösteren ekran görüntüsü.

    Kod bölmesi, oluşturduğunuz eşleme ilişkilerini gösterir:

    Birden çok girişi ve tek çıkışı olan Concat işlevinin bulunduğu Kod bölmesini gösteren ekran görüntüsü.

Diziler arasında yineleme

Kaynak ve hedef şemalarınız dizi içeriyorsa, dizi öğelerini yinelemek için bir döngü oluşturabilirsiniz. Bu bölümdeki örnek, bir Çalışan kaynak dizisi ve Bir Kişi hedef dizisi ile dizilerin öğeleri arasındaki eşlemeler arasında bir döngü oluşturur.

  1. Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.

  2. Eşleyici yüzeyinde, Kaynak ve Hedef bölmelerinde eşlemek istediğiniz dizileri bulun.

  3. Dizi öğeleri çifti arasında bir çizgi sürükleyin ve çizin. Kaynak bölmesinden veya Hedef bölmesinden başlayabilirsiniz.

    Aşağıdaki örnek Kaynak bölmesinden başlar ve Çalışan kaynak dizisindeki Ad öğelerini ve Kişi hedef dizisini eşler:

    Mapper yüzeyini gösteren ve kaynak Çalışan ile hedef Kişi dizilerindeki Ad öğeleri arasında bir eşleme çizen ekran görüntüsü.

    dizi öğelerinin ilk çiftini eşlemeyi tamamladıktan sonra, eşleyici otomatik olarak kaynak ve hedef dizi üst öğeleri arasına aşağıdaki bağlantı noktası türüne sahip bir döngü ekler: Dizi öğesi tamamlanmış bağlantı noktası simgesi.

    Aşağıdaki örnekte, kaynak Çalışan ile hedef Kişi üst dizileri arasında otomatik olarak eklenen döngü vurgulanır:

    Ekran görüntüsü, kaynak Çalışan ve hedef Kişi ana dizileri arasındaki döngüsel eşlemeyi gösterir.

    Kod bölmesinde oluşturduğunuz eşleme ve döngü gösterilir:

    Kaynak ve hedef üst diziler ile dizi öğeleri arasında döngü eşlemesi içeren Kod bölmesini gösteren ekran görüntüsü.

  4. Diğer dizi öğelerini eşlemeye devam edin, örneğin:

    Kaynak ve hedef dizilerdeki diğer dizi öğeleri arasındaki diğer eşlemeleri gösteren ekran görüntüsü.

Görevi gerçekleştirmek için koşulu değerlendirme

Koşulu değerlendiren ve koşul karşılandığında görev gerçekleştiren bir eşleme eklemek istediğinizi varsayalım. Bu senaryo için birden çok işlev kullanabilirsiniz.

Aşağıdaki örnekte, satın alma miktarı 20 öğeyi aştığında eşleme aşağıdaki işlevleri kullanarak uygulanacak indirimi hesaplar:

İşlev grubu İşlev Bu örnekte amaç
Karşılaştırma Büyük Satın alma miktarının 20'den fazla olup olmadığını denetleyin.
Karşılaştırma Eğer Greater işlevinin true döndürip döndürmediğini denetleyin.
Matematik Çarpmak Koşul doğruysa, indirimi hesaplamak için madde fiyatını %10 ile çarpın.
  1. Kaynak ve Hedef bölmelerinde, senaryonuzda eşlemek için öğeleri bulun.

    Bu örnekte aşağıdaki öğeler kullanılır:

    • Kaynak bölmesi: ItemPrice ve ItemQuantity

    • Hedef bölmesi: ItemPrice, ItemQuantity ve ItemDiscount

      Ekran görüntüsü, örnek koşul senaryosu için eşleyici yüzeyini ve veri öğelerini gösterir.

  2. İşlevler listesinde, kullanmak istediğiniz işlevleri bulun ve seçin. Bu işlevler eşleştirici yüzeyine eklenir.

    • İşlevler listesi daraltılmışsa, eşleyicinin sol üst köşesinde işlev simgesini (İşlevler bölmesi simgesi.) seçin.

    • Gerekirse, seçimlerini kolaylaştırmak için işlev şekillerini eşleyici yüzeyinde hareket ettirin.

    Bu örnek, eşleyici arabirimine aşağıdaki işlevleri ekler: Greater, If ve Multiply

    Mapper yüzeyini, veri öğelerini ve koşul senaryosu gibi işlevleri gösteren ekran görüntüsü.

  3. Eşlemeleri oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.

  4. Senaryonuzun gerektirdiği gibi kaynak öğeleri, işlevleri ve hedef öğeleri belirli bir sırada bağlayın.

    Bu örnek, eşlemeleri doğru oluşturmak için aşağıdaki öğeleri belirtilen sırada bağlar:

    Başlat Son
    ItemPrice kaynak öğesi ItemPrice hedef öğesi
    ItemQuantity kaynak öğesi Greater işlevinin şeklin sol kenarındaki girişi. Bu giriş, işlev ayrıntılarında Değer 1 alanının verilerini sağlar.
    Şeklin sağ kenarındaki Büyüktür işlevinin çıktısı Şeklin sol kenarında işlevin girişi varsa . Bu giriş, işlev ayrıntılarında Koşul alanının verilerini sağlar.
    ItemPrice kaynak öğesi Şeklin sol kenarındaki işlevin girişini çarpın . Bu giriş, işlev ayrıntılarında Multiplicand alanının verilerini sağlar.
    Çarpma fonksiyonunun çıkışı şeklin sağ kenarında bulunur. Eğer İşlev'in girişi şeklin sol kenarındaysa. Bu giriş, işlev ayrıntılarında Değer alanının verilerini sağlar.
    Eğer işlevin çıkışı şeklin sağ kenarındaysa. ItemDiscount hedef öğesi

    Aşağıdaki örnekte, bu noktadaki eşlemeler gösterilmektedir:

    Örnek koşul senaryosu gibi eşlemelerle eşleyici yüzeyini, veri öğelerini ve işlevleri gösteren ekran görüntüsü.

  5. Aşağıdaki işlev ayrıntılarında, Giriş sekmesinde aşağıdaki değerleri onaylayın veya sağlayın:

    İşlev Giriş alanı ve değeri
    Büyük - Değer 1: ItemQuantity kaynak öğesi
    - 2. Değer: Özel değer olarak 20
    Çarpmak - Multiplicand 1: ItemPrice kaynak öğesi
    - Multiplicand 2: Özel değer olarak .10
    Eğer - Koşul: is-greater-than(ItemQuantity, 20)
    - Değer: multiply(ItemPrice, .10)

    Aşağıdaki harita, tamamlanmış örneği gösterir:

    Tamamlanmış koşul örneğini gösteren ekran görüntüsü.

    Kod bölmesi, oluşturduğunuz eşlemeyi gösterir:

    Büyük, Çarp ve Eğer işlevlerini kullanan kaynak ve hedef öğeler arasında koşullu eşleme içeren Kod bölmesini gösteren ekran görüntüsü.

Haritanızı kaydetme

İşiniz bittiğinde harita araç çubuğunda Kaydet'i seçin.

Visual Studio Code, veri haritanızı aşağıdaki yapıtlar olarak kaydeder:

  • < your-map-name>.lml adlı bir Veri Eşleyici dosyası, Artifacts>MapDefinitions proje klasöründe
  • < your-map-name>.xslt dosyası olan, Artifacts>Maps proje klasöründeki bir veri eşlemesi

İpucu

Yapıtlarınızı daha derin düzeylerde düzenlemek için aşağıdaki klasörleri ve alt klasörleri kullanabilirsiniz:

  • Artifaktlar/HaritaTanımları
  • Nesneler/Şemalar
  • Ögeler/DataMapper/Uzantılar/Fonksiyonlar
  • Bileşenler/DataMapper/Uzantılar/InlineXslt

Haritanızı test edin

Dönüşümün beklediğiniz gibi çalıştığını onaylamak için örnek giriş verileri gerekir.

  1. Haritanızı test etmeden önce, güncel bir <your-map-name>.xslt dosyası oluşturmak için haritayı kaydedin.

  2. Harita araç çubuğunuzda Test panelini aç'ı seçin.

  3. Test eşlemesi bölmesindeki Örnek veri kutusuna örnek girişinizi yapıştırın ve Test'i seçin.

    Sonuç kutusu test sonuçlarını gösterir.

Projenizdeki bir iş akışından haritanızı çağırma

  1. Mantıksal uygulama proje yapınızı görüntülemek için Visual Studio Code Etkinlik çubuğunda Gezgin 'i (dosyalar simgesi) seçin.

  2. İş akışı adınızı içeren klasörü genişletin. workflow.json dosyasının kısayol menüsünde Tasarımcıyı Aç'ı seçin.

  3. İş akışı tasarımcısında, Veri Eşleyici XSLT kullanarak Dönüştürme adlı Veri Eşleyici İşlemleri yerleşik eylemini eklemek için bu genel adımları izleyin.

  4. Tasarımcıda Veri Eşleyici XSLT kullanarak dönüştür eylemini seçin.

  5. Görüntülenen eylem bilgileri bölmesinde İçerik değerini belirtin ve Eşleme Kaynağı'nı LogicApp olarak bırakın.

  6. Harita Adı listesini açın ve haritanızı (.xslt dosyası) seçin.

    Ekran görüntüsünde, Visual Studio Code’daki Standart iş akışı tasarımcısı, seçili “Transform using Data Mapper XSLT” adlı eylem ve eylem özellikleri gösterilmektedir.

    Azure portalında Veri Eşleyici XSLT kullanarak aynı Dönüştürme eylemini kullanmak için haritayı Standart mantıksal uygulama kaynağına eklemeniz gerekir.

XSLT'yi bir veri haritasından çalıştırma

XSLT Çalıştır işlevini kullanarak yürütülebilir XSLT parçacıklarını bir veri eşleme (.xslt) dosyası içinde çalıştırabilirsiniz . Bu işlevi kullandığınızda, gerçek yürütülebilir XSLT'yi içeren bir veri eşleme dosyası elde edersiniz. Veri Eşleyici (.lml) dosyası, yürütülebilir XSLT (.xslt veya .xml) dosyasına bir referans içerir.

Bu görevi tamamlamak için şu adımları izleyin:

  1. Çalıştırmak istediğiniz yürütülebilir XSLT kod parçacığını içeren yeni bir veri eşlemesi (.xslt veya .xml) dosyası oluşturun.

  2. XSLT kod parçacığı dosyasını aşağıdaki proje klasörüne yerleştirin veya taşıyın:

    Artifacts>DataMapper\Extensions>InlineXSLT

    Ekran görüntüsünde Visual Studio Code, Standart mantıksal uygulama projesi ve InlineXslt.xsd dosyasına sahip InlineXslt proje klasörü gösterilmektedir.

    Not

    Bu yürütülebilir XSLT dosyasını Visual Studio Code'da oluşturur veya kaydederseniz, dosya otomatik olarak Artifacts>Maps proje klasöründe görünür. XSLT kod parçacığı dosyalarını InlineXslt klasörüne taşıdığınızdan emin olun.

  3. XSLT'yi çalıştırmak istediğiniz yerden veri haritasını açın.

  4. İşlevler bölmesinde, Yardımcı Program'ın altında, işlevi eşleyici yüzeyine eklemek için XSLT'yi Çalıştır'ı seçin.

  5. Eşleyici yüzeyinde, XSLT'yi Çalıştır'ı seçin.

  6. Dosya açılır listesinden, InlineXSLT klasörüne eklediğiniz yürütülebilir .xslt dosyasını seçin, örneğin:

    Ekran görüntüsü, açılan veri eşleyici yüzeyini ve seçilen InlineXslt.xsd dosyasıyla XSLT işlevini çalıştır'ı gösterir.

  7. XSLT Çalıştır işlevini, XSLT mantığını uygulamak istediğiniz hedef düğüme bağlayın, örneğin:

    Ekran görüntüsü, açılan veri eşleyici yüzeyini ve hedef düğüme bağlı XSLT işlevini Çalıştır'ı gösterir.

    XSLT mantığı yalnızca hedef düğüm için geçerli olduğundan, XSLT Çalıştır işlevini bir kaynak düğüme bağlamanız gerekmez.

  8. Beklenen sonuçların hedef şemada göründüğünü doğrulamak için haritanızı test edin.

Dağıtım için yalnızca satır içi yürütülebilir XSLT ile elde edilen veri haritasına ihtiyacınız vardır.

İç içe XML'deki erişim düğümleri

İç içe geçmiş XML düğümlerine sahip bir şemanız olduğunu ve bu düğümlerle aşağıdaki yollarla çalışmak istediğinizi varsayalım:

  • Özniteliklere veya iç içe geçmiş öğelere erişin.
  • Gelen verilerden yapıya veya içeriğe göre mantık uygulayın.

Bu görevleri tamamlamak için XPath Yürüt işlevini kullanın:

  1. Üzerinde çalışmak istediğiniz veri haritasını açın.

  2. İşlevler bölmesinde, Yardımcı Program altında, işlevi eşleyici yüzeyine eklemek için XPath Yürüt seçeneğini belirleyin.

  3. Eşleyici yüzeyinde, XPath Yürüt öğesini seçin.

  4. XPATH ifadesi kutusuna, istediğiniz işi gerçekleştiren bir ifade girin.

    İfade sözdizimi hakkında daha fazla bilgi için bkz: XPath Sözdizimi.

    Bu örnekte bir test yüküyle //Address birlikte ifade kullanılır:

    Ekran görüntüsü, açık veri eşleyici yüzeyini ve ifadeli Execute XPath işlevini gösterir.

    Not

    Çift eğik çizgi (//), düğümlerin nerede bulunduğuna bakılmaksızın, geçerli düğümden seçimle eşleşen düğümleri seçer.

  5. XPath Yürütme işlevini, işlevi çalıştırmak istediğiniz hedef düğüme bağlayın.

    Bu örnek, işlevi hedef şemadaki Adres düğümüne bağlar:

    Ekran görüntüsü, açılmış veri eşleyici yüzeyini ve hedef düğüme bağlı Execute XPath işlevini gösterir.

    Not

    Düğüm adları otomatik olarak çift tırnak (" ") içine alınır.

  6. Beklenen sonuçların hedef şemada göründüğünü doğrulamak için haritanızı test edin.

    Bu örnek bir test yükü kullanır ve kaynak Adres düğümü bir Employee dizisinde bulunurken, hedef Adres düğümü bir Person dizisinde bulunduğundan, birden çok Adres düğümüyle doğru şekilde sonuçlar üretir.

    Ekran görüntüsü, açılan veri eşleyici yüzeyini, XPath işlevini Yürüt'ü ve hedef şemadaki test sonuçlarını gösterir.

    Not

    Kaynak ve hedef şemalardaki diziler arasında bir eşleme oluşturursanız, dizi öğelerini yinelemek için eşleyici yüzeyinde otomatik olarak bir döngü görünür. Ancak yine de kaynak ve hedef dizi öğeleri arasında eşlemeler oluşturmanız gerekir. Diziler arasında döngü yapma hakkında daha fazla bilgi için, bkz: Diziler arasında yineleme.

Özel XML işlevleri oluşturma

Haritanızda yeniden kullanılabilir mantık tanımlamak için, aşağıdaki avantajları sağlayan özel XML işlevleri oluşturabilirsiniz:

  • Yinelemeyi azaltın ve şemaya özgü dönüştürmeleri destekleyin.
  • Karmaşık mantığı yönetilebilir bileşenlere sarın.
  • Şemaya özgü uç durumları işleyin.

Özel bir XML işlevi oluşturmak için şu adımları izleyin:

  1. İşlevinizin amacını açıklayan anlamlı bir ada sahip bir XML (.xml) dosyası oluşturun.

    XML dosyanızın işlev tanımları için belirli bir şema kullanması gerekir. Birden çok ilgili işleviniz varsa, bu işlevler için tek bir dosya kullanabilirsiniz. Herhangi bir dosya adını kullanabilirsiniz ancak anlamlı bir dosya adı veya kategori işlevlerinizin tanımlanmasını, bulunmasını ve bulunmasını kolaylaştırır.

  2. Bu XML dosyasını aşağıdaki klasörde bulunan mantıksal uygulama projenize ekleyin:

    Yapılar>DataMapper\Uzantılar>İşlevler

  3. İşlevinizi kullanmak istediğiniz veri haritasını açın.

  4. İşlevler bölmesinde, Yardımcı Program'ın altında, artık eşleyici yüzeyinde görünen özel işlevinizi seçin.

  5. Eşleyici yüzeyinde, işlevinizi seçin. İşlevin çalışması için ihtiyaç duyduğu girdiyi sağlayın.

  6. İşlevi gerekli uç noktalara bağlayın.

    Aşağıdaki örnekte, sağlanan doğum tarihi için yaşı döndüren Age adlı özel bir işlev gösterilmektedir. İşlev, Dat_of_Birth kaynak düğümüne ve Other hedef düğümüne bağlanır. Bu özel işlevin tanımını gözden geçirmek için bkz: Örnek işlev tanımını gözden geçirme.

    Ekran görüntüsü, açılan veri eşleyici yüzeyini ve Yaş adlı özel işlevi gösterir.

  7. Beklenen sonuçların hedef şemada göründüğünü doğrulamak için haritanızı test edin, örneğin:

    Ekran görüntüsü, açılan veri eşleyici yüzeyini, Yaş adlı özel işlevi ve işlev sonuçlarını gösterir.

İşlev tanımı için şemayı gözden geçirme

XML dosyanızın bir işlev tanımı için aşağıdaki şemayı kullanması gerekir. "function" adına sahip her XML öğesi, birkaç ek özniteliğe sahip bir XSLT 3.0 stil işlevi gerçekleştirir. Veri Eşleyici işlevleri listesi işlev adını, açıklamasını, parametre adlarını ve parametre türlerini içerir.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="customfunctions">
      <xs:complexType>
         <xs:sequence>
            <xs:element maxOccurs="unbounded" name="function">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element maxOccurs="unbounded" name="param">
                        <xs:complexType>
                           <xs:attribute name="name" type="xs:string" use="required" />
                           <xs:attribute name="as" type="xs:string" use="required" />
                        </xs:complexType>
                     </xs:element>
                     <xs:any minOccurs="0" />
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" use="required" />
                  <xs:attribute name="as" type="xs:string" use="required" />
                  <xs:attribute name="description" type="xs:string" use="required" />
               </xs:complexType>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

Örnek işlev tanımlarını gözden geçirin

Aşağıdaki SampleFunctions.xmldosyası, aşağıdaki işlevlerin uygulanmasını gösterir:

  • "age"
  • "custom-if-then-else"
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<customfunctions>
   <function name="age" as="xs:float" description="Returns the current age.">
      <param name="inputDate" as="xs:date"/> 
      <value-of select="round(days-from-duration(current-date() - xs:date($inputDate)) div 365.25, 1)"/>
   </function> 
   <function name="custom-if-then-else" as="xs:string" description="Evaluates the condition and returns corresponding value.">
      <param name="condition" as="xs:boolean"/>
      <param name="thenResult" as="xs:anyAtomicType"/>
      <param name="elseResult" as="xs:anyAtomicType"/>
      <choose>
         <when test="$condition">
            <value-of select="$thenResult"></value-of>
         </when>
         <otherwise>
            <value-of select="$elseResult"></value-of>
         </otherwise>
      </choose>
   </function>
</customfunctions>