Bagikan melalui


Membuat peta untuk mengubah data dalam alur kerja aplikasi logika dengan Visual Studio Code

Berlaku pada: Azure Logic Apps (Standar)

Saat Anda bertukar pesan yang menggunakan format XML atau JSON yang berbeda dalam alur kerja aplikasi logika, Anda harus menentukan cara mengubah atau mengonversi data dari format sumber ke format target, misalnya, antara dokumen XML atau di antara dokumen JSON. Tugas ini penting terutama ketika Anda memiliki kesenjangan antara struktur data dalam skema sumber dan target. Skema menjelaskan elemen data, atribut, dan jenis data dalam dokumen XML atau JSON.

Untuk menentukan transformasi antara struktur data dan menjembatani celah apapun, Anda dapat membuat pemetaan (file .xslt) yang menentukan hubungan antara elemen data dalam skema sumber dan target. Anda dapat membuat atau mengedit peta secara visual dengan menggunakan Visual Studio Code dengan ekstensi Azure Logic Apps (Standar) dalam konteks proyek aplikasi logika Standar. Alat Pemetaan Data memberikan pengalaman terpadu untuk pemetaan dan transformasi menggunakan gerakan seret dan lepas, fungsi bawaan untuk membangun ekspresi, dan cara untuk menguji peta secara manual sebelum Anda menggunakannya di alur kerja Anda.

Setelah membuat peta, Anda dapat langsung memanggil peta tersebut dari alur kerja di proyek aplikasi logika Anda atau dari alur kerja aplikasi logika Standar di portal Azure. Untuk tugas ini, Anda dapat menggunakan tindakan Operasi Pemeta Data bernama Transformasi menggunakan Data Mapper XSLT di alur kerja Anda.

Panduan cara ini menunjukkan cara membuat peta data kosong, memilih skema sumber dan target Anda, membuat berbagai jenis pemetaan antara elemen skema, menyimpan dan menguji peta Anda, lalu memanggil peta dari alur kerja di proyek aplikasi logika Anda.

Batasan dan masalah yang diketahui

  • Data Mapper saat ini hanya berfungsi di Visual Studio Code yang berjalan pada sistem operasi Windows.

  • Pemeta Data saat ini hanya tersedia di Visual Studio Code, bukan portal Azure, dan hanya dari dalam proyek aplikasi logika Standar, bukan proyek aplikasi logika Konsumsi.

  • Pemeta Data saat ini tidak mendukung skema yang menggunakan format file nilai yang dipisahkan koma (.csv).

  • Panel Kode di Pemeta Data saat ini hanya dibaca.

  • Posisi tata letak dan item di Data Mapper saat ini otomatis dan hanya dapat dibaca.

  • Fungsi Filter memproses kondisi numerik dengan benar yang diapit oleh tanda kutip ganda, misalnya, ">=10". Namun, fungsi ini belum berfungsi konsisten untuk perbandingan string, seperti memeriksa apakah nama item adalah "= 'Pena'".

  • Saat Anda membuat pemetaan antara elemen array induk dalam skema sumber dan target, pemeta secara otomatis menambahkan perulangan untuk melakukan iterasi melalui elemen item array. Namun, Anda masih harus secara eksplisit membuat pemetaan antara elemen item array sumber dan target.

  • Untuk memanggil peta yang dibuat dengan Pemeta Data, Anda hanya dapat menggunakan tindakan Operasi Pemeta Data bernama Transformasi menggunakan Data Mapper XSLT. Untuk peta yang dibuat oleh alat lain, gunakan tindakan Operasi XML bernama Transform XML.

  • Untuk menggunakan peta yang Anda buat dengan Pemeta Data dengan alur kerja di portal Azure, Anda harus menambahkannya langsung ke sumber daya aplikasi logika Standar Anda.

Prasyarat

  • Visual Studio Code dan ekstensi Azure Logic Apps (Standar) untuk membuat alur kerja aplikasi logika Standar.

    Catatan

    Ekstensi Data Mapper yang sebelumnya terpisah sekarang digabungkan dengan ekstensi Azure Logic Apps (Standar). Untuk menghindari konflik, versi ekstensi Data Mapper yang ada akan dihapus saat Anda menginstal atau memperbarui ekstensi Azure Logic Apps (Standar). Setelah ekstensi diinstal atau diperbarui, mulai ulang Visual Studio Code.

  • File skema sumber dan target yang menjelaskan jenis data yang akan diubah. File-file ini dapat memiliki format berikut:

    • File definisi skema XML dengan ekstensi file .xsd

    • File Notasi Objek JavaScript dengan ekstensi file .json

  • Proyek aplikasi logika Standar yang menyertakan alur kerja stateful atau stateless dengan setidaknya satu pemicu. Jika Anda tidak memiliki proyek, ikuti langkah-langkah berikut di Visual Studio Code:

    1. Sambungkan ke akun Azure Anda, jika Anda belum melakukannya.

    2. Buat folder lokal, ruang kerja aplikasi logika Standar dan proyek, serta alur kerja yang stateful atau stateless. Selama pembuatan alur kerja, pilih Buka di jendela saat ini.

  • Contoh data input jika Anda ingin menguji peta dan memeriksa apakah transformasi berfungsi seperti yang Anda harapkan.

Membuat peta data

  1. Di Visual Studio Code, buka folder untuk proyek aplikasi logika Standar Anda.

  2. Pada menu kiri Visual Studio Code, pilih ikon Azure .

  3. Di jendela Azure , di bawah Pemeta Data, pilih Buat peta data.

    Cuplikan layar memperlihatkan Visual Studio Code dengan jendela Azure dan tombol yang dipilih untuk Membuat peta data.

    Pada bilah judul Visual Studio Code, kotak perintah terbuka sehingga Anda bisa memberikan nama untuk peta Anda.

  4. Dalam kotak perintah, masukkan nama untuk peta.

    Untuk panduan ini, langkah-langkah ini menggunakan nama Example-data-map.

    Cuplikan layar memperlihatkan kotak perintah dan contoh nama peta data.

    Pemeta Data membuat dan membuka peta data kosong.

  5. Pilih skema sumber dan target Anda dengan mengikuti langkah-langkah berikut:

    1. Di panel Sumber, pilih Tambahkan Telusuri baru>untuk menemukan dan mengunggah skema sumber Anda.

      Cuplikan layar memperlihatkan panel Pemeta Data dan Sumber dengan opsi yang dipilih untuk Tambahkan baru dan Telusuri.

      Setelah Anda menambahkan skema sumber, panel Sumber diisi dengan elemen XML "node" untuk jenis data dalam skema sumber, misalnya:

      Cuplikan layar memperlihatkan panel Sumber yang diisi dengan simpul elemen XML skema sumber.

    2. Di panel Tujuan, pilih Tambahkan Telusuri baru>untuk menemukan dan mengunggah skema target Anda.

      Cuplikan layar memperlihatkan panel Pemeta Data dan Tujuan dengan opsi yang dipilih untuk Tambahkan baru dan Telusuri.

      Setelah Anda menambahkan skema target, panel Tujuan diisi dengan elemen XML "node" untuk jenis data dalam skema target, misalnya:

      Cuplikan layar memperlihatkan panel Tujuan yang diisi dengan simpul elemen XML skema sumber.

Petunjuk / Saran

Jika Mengalami masalah saat memuat skema, Anda dapat menambahkan file skema sumber dan target ke folderSkema/ lokal proyek aplikasi logika Anda. Dalam skenario ini, untuk menentukan skema sumber dan target Anda di Pemeta Data, pada panel Sumber dan Tujuan, buka daftar Pilih yang sudah ada, daripada menggunakan Tambahkan baru, dan pilih skema Anda.

Jenis data skema

Tabel berikut ini menjelaskan kemungkinan jenis data yang mungkin muncul dalam skema:

Simbol Jenis Info selengkapnya
Ikon yang mewakili jenis data Array. Kompleks (Array) Mengandung item atau node yang berulang.

Elemen array juga menampilkan titik koneksi berikut:

Ikon untuk titik koneksi elemen array.
Ikon yang mewakili jenis data Bool. Bool Benar atau salah saja
Ikon yang mewakili jenis data Kompleks. Kompleks Objek XML yang memiliki properti anak, mirip dengan jenis Objek JSON
Ikon yang mewakili jenis data DateTime. TanggalWaktu
Ikon yang mewakili jenis data Desimal. Desimal
Ikon yang mewakili jenis data Bilangan Bulat. Bilangan bulat Bilangan bulat saja
Ikon yang mewakili jenis data String. string

Membuat pemetaan langsung antar elemen

Untuk menentukan transformasi langsung antara elemen yang memiliki jenis yang sama dalam skema sumber dan target, ikuti langkah-langkah berikut:

  1. Untuk melihat apa yang terjadi dalam kode saat Anda membuat pemetaan, di sudut kanan atas pemeta, pilih Tampilkan kode.

  2. Pada permukaan pemeta, di panel Sumber , temukan elemen sumber yang ingin Anda petakan.

    • Secara pengaturan awal, elemen induk secara otomatis diperluas untuk menampilkan elemen anaknya.

    • Contoh ini mulai memetakan dari elemen sumber, tetapi Anda dapat memilih untuk mulai memetakan dari elemen target.

  3. Pindahkan penunjuk mouse Anda ke lingkaran di samping nama elemen sumber hingga penunjuk berubah menjadi tanda plus (+).

    Contoh ini membuat pemetaan mulai dari ID Karyawan elemen sumber.

    Cuplikan layar memperlihatkan Pemeta Data dengan penunjuk di atas elemen sumber.

  4. Seret dan gambar garis sehingga elemen sumber tersambung ke lingkaran untuk elemen target di panel Tujuan .

    Contoh ini menyelesaikan pemetaan dengan elemen target ID , yang memiliki jenis data yang sama dengan elemen sumber.

    Cuplikan layar memperlihatkan Pemeta Data, penunjuk di atas elemen target, dan garis antara elemen sumber dan target.

    Anda sekarang telah membuat pemetaan langsung antara kedua elemen yang memiliki jenis data yang sama.

    Cuplikan layar memperlihatkan pemetaan lengkap antara EmployeeID dan ID dalam skema sumber dan target.

    Panel Kode memperlihatkan hubungan pemetaan yang Anda buat:

    Cuplikan layar memperlihatkan panel Kode dengan pemetaan langsung antara EmployeeID dan ID di skema sumber dan target.

    Petunjuk / Saran

    Untuk memeriksa apakah pemetaan Anda memiliki masalah, pilih Tampilkan masalah. Misalnya, peringatan muncul di daftar Masalah pada tab Peringatan jika Anda membuat pemetaan antara elemen yang memiliki jenis data yang tidak cocok:

    Cuplikan layar memperlihatkan pemetaan antara jenis data yang tidak cocok.

Membuat pemetaan kompleks antar elemen

Untuk menentukan transformasi yang lebih rumit antara elemen dalam skema sumber dan target, misalnya, elemen yang ingin Anda gabungkan atau memiliki jenis data yang berbeda, Anda dapat menggunakan satu atau beberapa fungsi yang melakukan transformasi yang Anda inginkan dalam pemetaan Anda.

Pada permukaan pemeta, label fungsi dikodekan warna berdasarkan grup fungsi. Di samping nama fungsi, simbol fungsi muncul, misalnya:

Cuplikan layar memperlihatkan contoh label fungsi.

Tabel berikut mencantumkan grup fungsi dan beberapa contoh fungsi yang bisa Anda gunakan. Untuk daftar lengkapnya, lihat daftar Fungsi di Pemeta Data.

Grup Contoh fungsi
Koleksi Rata-rata, Jumlah, Akses Langsung, Nilai berbeda, Filter, Indeks, Kombinasi, Maksimum, Minimum, Terbalik, Urutkan, Suburutan, Jumlah
Konversi Ke Tanggal, Ke Bilangan Bulat, Ke Angka, Ke String
Tanggal dan waktu Tambahkan Hari, Tanggal Saat Ini, Waktu Saat Ini, Sama dengan Tanggal Tertentu
Perbandingan logis Sama, Ada, Lebih Besar, Lebih Besar atau sama, Jika, Jika Lain, Nihil, Adalah Null, Adalah Angka, Adalah String, Kurang, Kurang atau Sama, Logis DAN, LOGIS TIDAK, Logis ATAU, Tidak Sama
Matematika Absolut, Tambah, Arktangen, Plafon, Kosinus, Bagi, Eksponensial, Eksponensial (basis 10), Pembulatan ke Bawah, Pembagian Bilangan Bulat, Logaritma, Logaritma (basis 10), Modul, Kali, Pangkat, Pembulatan, Sinus, Akar Kuadrat, Kurang, Tangen
Tali Titik kode ke String, Menggabungkan, Mengandung, Berakhir dengan, Panjang, Huruf Kecil, Nama, Cocok Ekspresi Reguler, Ganti Ekspresi Reguler, Ganti, Dimulai dengan, String ke Titik kode, Substring, Substring setelah, Substring sebelum, Pangkas, Pangkas Kiri, Pangkas Kanan, Huruf Besar
Utilitas Salin, Kesalahan, Jalankan XPath, Format Tanggal dan Waktu, Format Angka, Jalankan XSLT

Menambahkan fungsi tanpa pemetaan

Contoh di bagian ini mengubah data dalam elemen sumber dari String ke DateTime, yang merupakan jenis elemen target. Contoh dimulai tanpa terlebih dahulu membuat pemetaan dan menggunakan fungsi To Date , yang menerima satu input.

  1. Untuk melihat apa yang terjadi dalam kode saat Anda membuat pemetaan, di sudut kanan atas pemeta, pilih Tampilkan kode.

  2. Dalam daftar Fungsi, temukan dan pilih fungsi yang ingin Anda gunakan, yang menambahkan fungsi ke permukaan pemeta. Jika daftar Fungsi diciutkan, di sudut kiri atas pemetaan, pilih ikon fungsi (Ikon untuk daftar Fungsi.).

    Contoh ini memilih fungsi To Date , yang ada di grup fungsi Konversi .

    Tangkapan layar memperlihatkan fungsi yang dipilih bernama To Date.

    Catatan

    Jika tidak ada pemetaan di peta atau jika pemetaan dipilih saat Anda menambahkan fungsi ke peta, fungsi muncul tetapi tidak terhubung ke elemen atau fungsi lain, misalnya:

    Cuplikan layar memperlihatkan fungsi terputus bernama Ke Tanggal.

  3. Sambungkan fungsi ke elemen sumber dan target.

    1. Seret dan gambar garis antara elemen sumber dan lingkaran di tepi kiri fungsi. Anda dapat memulai dari elemen sumber atau fungsi.

      Cuplikan layar memperlihatkan pemetaan antara elemen sumber dan fungsi.

    2. Seret dan gambar garis antara tepi kanan fungsi dan elemen target. Anda dapat memulai dari elemen target atau fungsi.

      Cuplikan layar memperlihatkan pemetaan antara fungsi dan elemen target.

    Panel Kode memperlihatkan hubungan pemetaan yang Anda buat:

    Cuplikan layar memperlihatkan panel Kode dengan hubungan pemetaan langsung antara elemen sumber dan target.

  4. Pada permukaan pemeta, pilih bentuk fungsi untuk melihat detail fungsi.

  5. Pada tab Input , konfirmasi atau edit input yang akan digunakan.

    Cuplikan layar memperlihatkan tab Input untuk fungsi bernama To Date.

    Beberapa skenario memerlukan penentuan transformasi di luar sepasang elemen sumber dan target langsung. Misalnya, untuk menentukan transformasi antara sepasang array dan itemnya, Anda perlu membuat perulangan di antara array. Atau, untuk melakukan tugas saat nilai elemen memenuhi kondisi, Anda perlu menambahkan kondisi di antara elemen.

Menambahkan fungsi yang menggunakan beberapa input

Contoh di bagian ini menggabungkan beberapa elemen sumber sebagai input dan memetakan satu output ke elemen target. Contoh menggunakan fungsi Concat , yang menerima beberapa input.

  1. Untuk melihat apa yang terjadi dalam kode saat Anda membuat pemetaan, di sudut kanan atas pemeta, pilih Tampilkan kode.

  2. Dalam daftar Fungsi, temukan dan pilih fungsi yang ingin Anda gunakan, yang menambahkan fungsi ke permukaan pemeta.

    Jika daftar Fungsi diciutkan, di sudut kiri atas pemetaan, pilih ikon fungsi (Ikon untuk daftar Fungsi.).

    Contoh ini memilih fungsi Concat , yang berada dalam grup fungsi String .

    Cuplikan layar memperlihatkan fungsi yang dipilih bernama Concat.

    Catatan

    Jika tidak ada pemetaan di peta atau jika pemetaan dipilih saat Anda menambahkan fungsi ke peta, fungsi muncul tetapi tidak terhubung ke elemen atau fungsi lain, misalnya:

    Cuplikan layar memperlihatkan fungsi terputus bernama Concat.

  3. Pada permukaan pemeta, pilih bentuk fungsi untuk melihat detail fungsi.

  4. Pada tab Input , pilih elemen skema sumber untuk digunakan sebagai input.

    Contoh ini memilih elemen skema sumber FirstName dan LastName sebagai input fungsi. Pemeta secara otomatis menambahkan pemetaan masing-masing antara elemen sumber dan fungsi.

    Cuplikan layar memperlihatkan beberapa elemen sumber sebagai input fungsi.

  5. Untuk menyelesaikan pemetaan, seret dan gambar garis antara tepi kanan fungsi dan elemen target. Anda dapat memulai dari elemen target atau fungsi.

    Cuplikan layar memperlihatkan pemetaan yang selesai antara beberapa input, fungsi Concat, dan elemen target.

    Panel Kode memperlihatkan hubungan pemetaan yang Anda buat:

    Cuplikan layar memperlihatkan panel Kode dengan fungsi Concat, yang memiliki beberapa input dan satu output.

Mengulangi elemen-elemen dalam array

Jika skema sumber dan target Anda berisi array, Anda dapat membuat perulangan untuk melakukan iterasi melalui item array. Contoh di bagian ini membuat pengulangan melalui array sumber Employee dan array target Person bersama dengan pemetaan antara item-item array tersebut.

  1. Untuk melihat apa yang terjadi dalam kode saat Anda membuat pemetaan, di sudut kanan atas pemeta, pilih Tampilkan kode.

  2. Pada permukaan pemeta, di panel Sumber dan Tujuan , temukan array yang ingin Anda petakan.

  3. Seret dan buat garis di antara pasangan item array. Anda bisa memulai dari panel Sumber atau panel Tujuan .

    Contoh berikut dimulai dari panel Sumber dan memetakan item Nama di array sumber Karyawan dan array target Orang :

    Cuplikan layar menunjukkan antarmuka pemetaan dan menggambarkan pemetaan antara elemen Nama pada array Karyawan sumber dan array Orang target.

    Setelah menyelesaikan pemetaan pasangan item pertama dalam array, sistem secara otomatis menambahkan loop antara elemen induk array dari sumber dan target, yang memiliki jenis titik koneksi berikut: Ikon elemen array pada titik koneksi yang telah selesai.

    Contoh berikut menyoroti perulangan yang ditambahkan secara otomatis antara array induk Karyawan sumber dan Orang target:

    Cuplikan layar memperlihatkan pemetaan perulangan antara array induk Karyawan sumber dan Orang target.

    Panel Kode memperlihatkan pemetaan dan perulangan yang Anda buat:

    Cuplikan layar menunjukkan panel kode dengan pemetaan loop antara array induk sumber dan target serta item array.

  4. Lanjutkan pemetaan elemen array lainnya, misalnya:

    Cuplikan layar memperlihatkan lebih banyak pemetaan antara item array lain di array sumber dan target.

Mengevaluasi kondisi untuk melakukan tugas

Misalkan Anda ingin menambahkan pemetaan yang mengevaluasi kondisi dan melakukan tugas saat kondisi terpenuhi. Untuk skenario ini, Anda dapat menggunakan beberapa fungsi.

Dalam contoh berikut, ketika jumlah pembelian melebihi 20 item, pemetaan menghitung diskon untuk diterapkan dengan menggunakan fungsi berikut:

Grup fungsi Fungsi Tujuan dalam contoh ini
Perbandingan Lebih besar Periksa apakah jumlah pembelian lebih dari 20.
Perbandingan Kalau Periksa apakah fungsi Greater mengembalikan true.
Matematika Perkalian Jika kondisi benar, kalikan harga item sebesar 10% untuk menghitung diskon.
  1. Di panel Sumber dan Tujuan , temukan elemen yang akan dipetakan dalam skenario Anda.

    Contoh ini menggunakan elemen berikut:

    • Panel sumber : ItemPrice dan ItemQuantity

    • Panel tujuan : ItemPrice, ItemQuantity, dan ItemDiscount

      Cuplikan layar memperlihatkan permukaan pemeta dan elemen data misalnya skenario kondisi.

  2. Dalam daftar Fungsi, temukan dan pilih fungsi yang ingin Anda gunakan, yang menambahkan fungsi ke permukaan pemeta.

    • Jika daftar Fungsi diciutkan, di sudut kiri atas pemetaan, pilih ikon Fungsi (Ikon untuk panel Fungsi.).

    • Jika perlu, pindahkan bentuk fungsi pada permukaan pemeta untuk membuatnya lebih mudah dipilih.

    Contoh ini menambahkan fungsi berikut ke permukaan pemetaan: Lebih Besar, Jika, dan Kalikan

    Cuplikan layar memperlihatkan permukaan pemeta, elemen data, dan fungsi misalnya skenario kondisi.

  3. Untuk melihat apa yang terjadi dalam kode saat Anda membuat pemetaan, di sudut kanan atas pemeta, pilih Tampilkan kode.

  4. Sambungkan elemen sumber, fungsi, dan elemen target dalam urutan tertentu seperti yang diperlukan skenario Anda.

    Contoh ini menyambungkan item berikut dalam urutan yang ditentukan untuk membuat pemetaan dengan benar:

    Mulai Akhir
    Elemen sumber ItemPrice Elemen target ItemPrice
    Elemen sumber ItemQuantity Masukan fungsi Greater pada tepi kiri bentuk. Input ini menyediakan data untuk bidang Nilai 1 dalam detail fungsi.
    Output fungsi yang lebih besar pada sisi kanan bentuk Jika input fungsi pada tepi kiri bentuk. Input ini menyediakan data untuk bidang Kondisi dalam detail fungsi.
    Elemen sumber ItemPrice Kalikan input fungsi pada tepi kiri bentuk. Input ini menyediakan data untuk kolom Multiplicand pada detail fungsi.
    Kalikan hasil dari fungsi pada sisi kanan objek. Jika input fungsi pada tepi kiri bentuk. Input ini menyediakan data untuk bidang Nilai dalam detail fungsi.
    Jika keluaran fungsi berada di tepi kanan bentuk. Elemen target untuk ItemDiscount

    Contoh berikut menunjukkan pemetaan pada saat ini:

    Cuplikan layar memperlihatkan permukaan pemeta, elemen data, dan fungsi dengan pemetaan misalnya skenario kondisi.

  5. Dalam detail fungsi berikut, pada tab Input , konfirmasi atau berikan nilai berikut:

    Fungsi Bidang dan nilai input
    Lebih besar - Nilai 1: Elemen sumber ItemQuantity
    - Nilai 2: 20 sebagai nilai kustom
    Perkalian - Multiplicand 1: Elemen sumber ItemPrice
    - Multiplicand 2: .10 sebagai nilai kustom
    Kalau - Kondisi: lebih besar dari(ItemQuantity, 20)
    - Nilai: kalikan(ItemPrice, .10)

    Peta berikut menunjukkan contoh yang sudah selesai:

    Cuplikan layar memperlihatkan contoh kondisi yang sudah selesai.

    Panel Kode memperlihatkan pemetaan yang Anda buat:

    Cuplikan layar memperlihatkan panel Kode dengan pemetaan bersyarkat antara elemen sumber dan target menggunakan fungsi, Lebih Besar, Kalikan, dan Jika.

Simpan peta Anda

Setelah selesai, pada toolbar peta, pilih Simpan.

Visual Studio Code menyimpan peta data Anda sebagai artefak berikut:

  • File Data Mapper (<your-map-name.lml>) di folder proyek Artifacts>MapDefinitions
  • File peta data (<your-map-name.xslt>) di folder proyek Artifacts>Maps

Menguji peta Anda

Untuk mengonfirmasi bahwa transformasi berfungsi seperti yang Anda harapkan, Anda memerlukan data input sampel.

  1. Sebelum menguji peta Anda, simpan peta untuk menghasilkan file <your-map-name>.xslt saat ini.

  2. Pada toolbar peta Anda, pilih Buka panel uji.

  3. Pada panel Uji peta , dalam kotak Data sampel, tempelkan input sampel Anda, dan pilih Uji.

    Kotak Hasil menunjukkan hasil pengujian.

Memanggil peta Anda dari alur kerja di proyek Anda

  1. Pada bilah Aktivitas Visual Studio Code, pilih Explorer (ikon file) untuk melihat struktur proyek aplikasi logika Anda.

  2. Perluas folder yang memiliki nama alur kerja Anda. Dari menu pintasan file workflow.json , pilih Buka Perancang.

  3. Pada perancang alur kerja, ikuti langkah-langkah umum ini untuk menambahkan tindakan bawaan Operasi Pemeta Data bernama Transformasi menggunakan Data Mapper XSLT.

  4. Pada perancang, pilih tindakan Transformasi menggunakan Data Mapper XSLT .

  5. Pada panel informasi tindakan yang muncul, tentukan nilai Konten , dan biarkan Sumber Peta diatur ke LogicApp.

  6. Buka daftar Nama Peta, dan pilih peta Anda (file.xslt).

    Cuplikan layar memperlihatkan Visual Studio Code, perancang alur kerja Standar, dengan tindakan yang dipilih bernama Transformasi menggunakan Data Mapper XSLT dan properti tindakan.

    Untuk menggunakan tindakan Transformasi yang sama menggunakan Data Mapper XSLT di portal Azure, Anda harus menambahkan peta ke sumber daya aplikasi logika Standar.

Menjalankan XSLT dari peta data

Anda dapat menjalankan cuplikan XSLT yang dapat dieksekusi dalam file peta data (.xslt) dengan menggunakan fungsi Jalankan XSLT . Saat Anda menggunakan fungsi ini, Anda mendapatkan file peta data yang berisi XSLT yang dapat dieksekusi aktual. File Data Mapper (.lml) berisi referensi ke file XSLT (.xslt atau .xml) yang dapat dieksekusi.

Untuk menyelesaikan tugas ini, ikuti langkah-langkah berikut:

  1. Buat file peta data baru (.xslt atau .xml) yang berisi cuplikan XSLT yang dapat dieksekusi yang ingin Anda jalankan.

  2. Letakkan atau pindahkan file cuplikan XSLT ke folder proyek berikut:

    Artefak>DataMapper\Extensions>InlinexSLT

    Cuplikan layar memperlihatkan Visual Studio Code, proyek aplikasi logika Standar, dan folder proyek InlineXslt dengan file InlineXslt.xsd.

    Catatan

    Jika Anda membuat atau menyimpan file XSLT yang dapat dieksekusi ini di Visual Studio Code, file secara otomatis muncul di folder proyek Artifacts>Maps . Pastikan untuk memindahkan file cuplikan XSLT ke folder InlineXslt .

  3. Buka peta data dari tempat Anda ingin menjalankan XSLT.

  4. Dari panel Fungsi , di bawah Utilitas, pilih Jalankan XSLT untuk menambahkan fungsi ke permukaan pemeta.

  5. Pada permukaan pemeta, pilih Jalankan XSLT.

  6. Dari daftar dropdown File , pilih file .xslt yang dapat dieksekusi yang Anda tambahkan ke folder InlineXSLT , misalnya:

    Cuplikan layar memperlihatkan permukaan pemeta data yang dibuka dan Menjalankan fungsi XSLT dengan file InlineXslt.xsd yang dipilih.

  7. Sambungkan fungsi Jalankan XSLT ke simpul tujuan tempat Anda ingin menerapkan logika XSLT, misalnya:

    Cuplikan layar memperlihatkan permukaan pemeta data yang dibuka dan fungsi Jalankan XSLT yang tersambung ke simpul tujuan.

    Karena logika XSLT hanya berlaku untuk simpul tujuan, Anda tidak perlu menyambungkan fungsi Jalankan XSLT ke simpul sumber.

  8. Uji peta Anda untuk mengonfirmasi bahwa hasil yang diharapkan muncul dalam skema tujuan.

Untuk penyebaran, Anda hanya memerlukan peta data yang dihasilkan dengan XSLT yang dapat dieksekusi sebaris.

Mengakses node dalam XML bersarang

Misalkan Anda memiliki skema yang memiliki simpul XML berlapis, dan Anda ingin bekerja dengan simpul ini dengan cara berikut:

  • Mengakses atribut atau elemen berlapis.
  • Terapkan logika berdasarkan struktur atau konten dari data masuk.

Untuk menyelesaikan tugas-tugas ini, gunakan fungsi Execute XPath :

  1. Buka peta data yang ingin Anda kerjakan.

  2. Dari panel Fungsi , di bawah Utilitas, pilih Jalankan XPath untuk menambahkan fungsi ke permukaan pemeta.

  3. Pada permukaan pemeta, pilih Jalankan XPath.

  4. Dalam kotak ekspresi XPATH , masukkan ekspresi yang melakukan pekerjaan yang Anda inginkan.

    Untuk informasi tentang sintaks ekspresi, lihat Sintaks XPath.

    Contoh ini menggunakan ekspresi //Address dengan payload pengujian:

    Cuplikan layar memperlihatkan permukaan pemeta data yang dibuka dan fungsi Execute XPath dengan ekspresi.

    Catatan

    Garis miring maju ganda (//) memilih simpul dari simpul saat ini yang sesuai dengan pemilihan, dari mana pun simpul tersebut berada.

  5. Sambungkan fungsi Jalankan XPath ke simpul tujuan tempat Anda ingin menjalankan fungsi.

    Contoh ini menyambungkan fungsi ke node Alamat dalam skema tujuan:

    Cuplikan layar memperlihatkan permukaan pemeta data yang dibuka dan fungsi Execute XPath yang tersambung ke node tujuan.

    Catatan

    Nama node secara otomatis diapit oleh tanda kutip ganda (" ").

  6. Uji peta Anda untuk mengonfirmasi bahwa hasil yang diharapkan muncul dalam skema tujuan.

    Contoh ini menggunakan payload pengujian dan menghasilkan beberapa node Alamat dengan benar karena node Alamat sumber ada dalam array Karyawan, sementara node Alamat tujuan ada dalam array Individu.

    Cuplikan layar memperlihatkan permukaan pemeta data yang dibuka, fungsi Execute XPath, dan hasil pengujian dalam skema tujuan.

    Catatan

    Jika Anda membuat pemetaan antara array dalam skema sumber dan target, perulangan secara otomatis muncul di permukaan pemeta untuk melakukan iterasi melalui elemen array. Namun, Anda masih harus membuat pemetaan antara elemen array sumber dan target. Untuk informasi tentang perulangan melalui array, lihat Iterasi melalui array.

Membuat fungsi XML kustom

Untuk menentukan logika yang dapat digunakan kembali di seluruh peta, Anda dapat membuat fungsi XML kustom, yang memberikan manfaat berikut:

  • Kurangi duplikasi dan dukung transformasi khusus skema.
  • Bungkus logika kompleks ke dalam komponen yang dapat dikelola.
  • Menangani kasus tepi khusus skema.

Untuk membuat fungsi XML kustom, ikuti langkah-langkah berikut:

  1. Buat file XML (.xml) dengan nama yang bermakna yang menjelaskan tujuan fungsi Anda.

    File XML Anda harus menggunakan skema tertentu untuk definisi fungsi. Jika Anda memiliki beberapa fungsi terkait, Anda dapat menggunakan satu file untuk fungsi-fungsi ini. Meskipun Anda dapat menggunakan nama file apa pun, nama atau kategori file yang bermakna membuat fungsi Anda lebih mudah diidentifikasi, ditemukan, dan ditemukan.

  2. Tambahkan file XML ini ke proyek aplikasi logika Anda di folder berikut:

    Artifacts>DataMapper\Extensions>Fungsi

  3. Buka peta data tempat Anda ingin menggunakan fungsi Anda.

  4. Dari panel Fungsi pada bagian Utilitas, pilih fungsi kustom Anda, yang sekarang muncul pada area pemetaan.

  5. Pada permukaan pemeta, pilih fungsi Anda. Berikan input yang diperlukan fungsi untuk bekerja.

  6. Sambungkan fungsi ke titik akhir yang diperlukan.

    Contoh berikut menunjukkan fungsi kustom bernama Usia yang mengembalikan usia untuk tanggal lahir yang disediakan. Fungsi ini terhubung ke simpul sumber Dat_of_Birth dan node tujuan Lainnya . Untuk meninjau definisi untuk fungsi kustom ini, lihat Meninjau contoh definisi fungsi.

    Cuplikan layar memperlihatkan permukaan pemeta data yang dibuka dan fungsi kustom bernama Usia.

  7. Uji peta Anda untuk mengonfirmasi bahwa hasil yang diharapkan muncul dalam skema tujuan, misalnya:

    Cuplikan layar memperlihatkan permukaan pemeta data yang dibuka, fungsi kustom bernama Usia, dan hasil fungsi.

Meninjau skema untuk definisi fungsi

File XML Anda harus menggunakan skema berikut untuk definisi fungsi. Setiap elemen XML yang memiliki "function" nama mengimplementasikan fungsi gaya XSLT 3.0 dengan beberapa atribut lagi. Daftar fungsi Pemeta Data mencakup nama fungsi, deskripsi, nama parameter, dan jenis parameter.

<?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>

Meninjau contoh definisi fungsi

File SampleFunctions.xml berikut menunjukkan implementasi untuk fungsi berikut:

  • "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>