Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memperlihatkan kepada Anda cara menggunakan parameter di alur Data Factory di Fabric sehingga Anda dapat membangun alur kerja yang fleksibel dan dapat digunakan kembali.
Menggunakan parameter, ekspresi, dan fungsi dalam alur Data Factory
Bagian ini memandu Anda memahami dasar-dasar pembuatan pipeline berparameter di Data Factory untuk Fabric, dengan contoh-contoh yang jelas di setiap langkahnya. Parameter dan ekspresi dinamis menghemat waktu dan memungkinkan Anda membangun solusi Ekstrak, Transformasi, Muat (ETL) atau Ekstrak, Muat, Transformasi (ELT) yang fleksibel. Mereka mengurangi pengodean keras dan memungkinkan Anda menggunakan kembali objek dan proses, yang membuat alur lebih mudah dipertahankan dan memungkinkan Anda mengirim fitur baru lebih cepat.
Konsep parameter dan ekspresi
Anda dapat menggunakan parameter untuk meneruskan nilai eksternal ke pipeline Anda. Setelah Anda menetapkan parameter, nilainya tetap sama sepanjang proses. Parameter memungkinkan Anda menggunakan kembali alur yang sama dengan nilai yang berbeda setiap kali. Anda dapat menggunakan parameter secara mandiri atau di dalam ekspresi, dengan nilai yang tetap atau dihitung saat pipeline dijalankan.
Ekspresi dapat ditempatkan di mana saja dalam nilai string dan selalu mengembalikan nilai string lain. Misalnya, jika Anda menggunakan @password, alur memperlakukan kata sandi sebagai parameter. Jika nilainya adalah ekspresi, hapus @ untuk mendapatkan konten aktual. Untuk menggunakan string yang diawali dengan @, loloskan dengan mengetik @@. Contoh berikut menunjukkan cara kerjanya dalam praktik.
| Nilai parameter | Result |
|---|---|
| "parameters" | Karakter 'parameter' dikembalikan. |
| "parameters[1]" | Karakter 'parameter[1]' dikembalikan. |
| "@@" | String 1 karakter yang berisi '@' dikembalikan. |
| " @" | String 2 karakter yang berisi ' @' dikembalikan. |
Ekspresi juga dapat muncul di dalam string melalui interpolasi string, yaitu dengan membungkus ekspresi dalam @{ ... }. Misalnya, string berikut menyertakan nilai parameter dan nilai string harfiah:
"Nama Depan: @{pipeline().parameters.firstName} Nama Belakang: @{pipeline().parameters.lastName}"
Interpolasi string selalu mengembalikan string. Misalnya, jika Anda mendefinisikan myNumber sebagai 42 dan myString sebagai foo:
| Nilai parameter | Result |
|---|---|
| "@pipeline().parameters.myString" | Mengembalikan foo sebagai string. |
| "@{pipeline().parameters.myString}" | Mengembalikan foo sebagai string. |
| "@pipeline().parameters.myNumber" | Mengembalikan 42 sebagai angka . |
| "@{pipeline().parameters.myNumber}" | Mengembalikan 42 sebagai string . |
| "Jawabannya adalah: @{pipeline().parameters.myNumber}" | Mengembalikan string Answer is: 42. |
| "@concat('Jawabannya adalah: ', string(pipeline().parameters.myNumber))" | Mengembalikan string Answer is: 42 |
| "Jawabannya adalah: @@{pipeline().parameters.myNumber}" | Mengembalikan string Answer is: @{pipeline().parameters.myNumber}. |
Contoh ekspresi parameter
Membuat dan menggunakan parameter
Untuk membuat parameter, pilih latar belakang kanvas editor alur, lalu pilih tab Parameter dari jendela properti di bagian bawah. Pilih + Baru untuk menambahkan parameter ke alur, dan memberinya nama, jenis data, dan nilai default:
Anda kemudian dapat menggunakan parameter di mana saja alur Anda mendukung konten dinamis. Dalam contoh ini, parameter secara dinamis memberikan nama penyimpanan data lakehouse pada tab Source di halaman properti aktivitas Copy.
Jendela Tambahkan konten dinamis terbuka. Gunakan untuk menentukan segala jenis konten dinamis, termasuk parameter, variabel sistem, fungsi, atau variabel alur. Dalam contoh ini, Anda memilih parameter yang Anda tentukan sebelumnya, dan jendela konten dinamis secara otomatis diisi dengan ekspresi yang benar untuk mereferensikannya.
Parametrisasi koneksi
Untuk membuat parameter koneksi dalam alur, gunakan pengidentifikasi unik global (GUID) koneksi yang ingin Anda ganti secara dinamis.
- Sebelum Anda mengubah koneksi secara dinamis di alur Anda, dapatkan GUID koneksi yang ingin Anda atur.
- Buka Pengaturan>Kelola koneksi dan gateway.
- Temukan nama koneksi dan pilih elipsis (...) di sampingnya.
- Pilih Pengaturan dan salin ID Koneksi.
- Tempelkan GUID ke dalam parameter string, dan referensikan parameter tersebut dalam ekspresi dinamis Anda.
Contoh ekspresi kompleks
Ekspresi berikut mereferensikan subbidang output aktivitas yang mendalam. Untuk merujuk ke parameter pipeline yang dievaluasi menjadi subbidang, gunakan sintaks [] alih-alih operator titik (.), seperti pada subfield1 dan subfield2.
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
Editor konten dinamis
Editor konten dinamis secara otomatis meloloskan karakter dalam konten Anda saat Anda selesai mengedit. Misalnya, konten berikut di editor konten adalah interpolasi string dengan fungsi ekspresi:
@{toUpper('myData')}
Editor konten dinamis mengonversi konten sebelumnya ke ekspresi berikut:
MYDATA
Menggunakan fungsi dan variabel dalam ekspresi
Anda dapat memanggil fungsi dan menggunakan variabel dalam ekspresi. Bagian berikut ini menyediakan informasi tentang fungsi yang dapat digunakan dalam ekspresi.
Variabel cakupan dalam jalur proses
Anda dapat mereferensikan variabel sistem ini di mana saja dalam alur JSON.
| Nama Variabel | Description |
|---|---|
| @pipeline().DataFactory | Nama ruang kerja tempat alur berjalan |
| @pipeline().Pipeline | Nama jalur |
| @pipeline().RunId | ID jalannya pipeline tertentu |
| @pipeline().TriggerId | ID pemicu yang mengaktifkan pipeline |
| @pipeline().TriggerName | Nama pemicu yang memanggil alur |
| @pipeline().TriggerTime | Waktu eksekusi pemicu yang menjalankan pipeline. Nilai ini adalah waktu saat trigger benar-benar terpicu untuk menjalankan pipeline, dan mungkin sedikit berbeda dari waktu terjadwal trigger. |
| @pipeline().GroupId | ID grup tempat eksekusi pipeline tersebut berada. Dalam Microsoft Fabric, grup adalah kumpulan sumber daya terkait yang Anda kelola bersama-sama. Grup mengatur dan mengontrol akses ke sumber daya, yang memudahkan untuk mengelola izin dan memantau aktivitas di beberapa alur. |
| @pipeline()?.TriggeredByPipelineName | Nama pipeline yang memicu jalannya pipeline. Berlaku ketika aktivitas Execute Pipeline memicu eksekusi alur. Bernilai Null dalam kasus lainnya. Perhatikan tanda tanya setelah @pipeline(). |
| @pipeline()?.TriggeredByPipelineRunId | ID eksekusi dari pipeline yang memicu jalannya pipeline. Berlaku saat aktivitas Execute Pipeline memicu eksekusi pipeline. Menghasilkan Null dalam kasus lain. Perhatikan tanda tanya setelah @pipeline(). |
Note
Variabel sistem tanggal/waktu terkait pemicu (dalam lingkup alur dan pemicu) mengembalikan tanggal Waktu Universal Terkoordinasi (UTC) dalam format ISO 8601, misalnya, 2017-06-01T22:20:00.4061448Z.
Fungsi String
Untuk bekerja dengan string, gunakan fungsi string ini dan juga beberapa fungsi koleksi. Fungsi string hanya berfungsi pada string.
| Fungsi string | Task |
|---|---|
| concat | Gabungkan dua string atau lebih, dan kembalikan string gabungan. |
| endsWith | Periksa apakah string berakhir dengan substring yang ditentukan. |
| guid | Buat pengidentifikasi unik global (GUID) sebagai string. |
| indexOf | Mengembalikan posisi awal untuk substring teks. |
| lastIndexOf | Mengembalikan posisi awal untuk kemunculan terakhir dari sebuah substring. |
| replace | Ganti substring dengan string yang ditentukan, dan kembalikan string yang diperbarui. |
| split | Mengembalikan array yang berisi substring, dipisahkan oleh koma, dari string yang lebih besar berdasarkan karakter pemisah tertentu dalam string asli. |
| startsWith | Periksa apakah string dimulai dengan substring tertentu. |
| substring | Mengembalikan karakter dari string, dimulai dari posisi yang ditentukan. |
| toLower | Mengembalikan string dalam format huruf kecil. |
| toUpper | Mengembalikan string dalam format huruf besar. |
| trim | Hapus spasi putih di awal dan akhir dari string, dan kembalikan string yang diperbarui. |
Fungsi pengumpulan
Untuk bekerja dengan koleksi seperti array, string, dan kamus, gunakan fungsi koleksi ini.
| Fungsi koleksi | Task |
|---|---|
| contains | Periksa apakah koleksi memiliki item tertentu. |
| empty | Periksa apakah koleksi kosong. |
| first | Mengembalikan item pertama dari koleksi. |
| intersection | Mengembalikan koleksi yang memiliki hanya item umum di seluruh koleksi yang ditentukan. |
| join | Mengembalikan string berisi semua elemen dari array, dipisahkan oleh karakter yang ditentukan. |
| last | Mengembalikan item terakhir dari koleksi. |
| length | Mengembalikan jumlah item dalam string atau array. |
| skip | Hapus item dari depan koleksi, dan kembalikan semua item lainnya. |
| take | Mengembalikan item dari depan koleksi. |
| union | Mengembalikan koleksi yang memiliki semua item dari koleksi yang ditentukan. |
Fungsi logika
Gunakan fungsi-fungsi ini di dalam kondisi untuk mengevaluasi semua jenis logika.
| Fungsi perbandingan logis | Task |
|---|---|
| and | Periksa apakah semua ekspresi benar. |
| equals | Periksa apakah kedua nilai tersebut setara. |
| greater | Periksa apakah nilai pertama lebih besar dari nilai kedua. |
| greaterOrEquals | Periksa apakah nilai pertama lebih besar dari atau sama dengan nilai kedua. |
| if | Periksa apakah ekspresi benar atau salah. Berdasarkan hasilnya, kembalikan nilai yang ditentukan. |
| less | Periksa apakah nilai pertama kurang dari nilai kedua. |
| lessOrEquals | Periksa apakah nilai pertama kurang dari atau sama dengan nilai kedua. |
| not | Periksa apakah ekspresi salah. |
| or | Periksa apakah setidaknya satu ekspresi benar. |
Fungsi konversi
Gunakan fungsi-fungsi ini untuk mengonversi antara masing-masing jenis asli dalam bahasa:
- string
- integer
- float
- boolean
- arrays
- dictionaries
| Fungsi konversi | Task |
|---|---|
| array | Mengembalikan array dari satu input yang ditentukan. Untuk beberapa input, lihat createArray. |
| base64 | Mengembalikan versi yang dikodekan base64 untuk string. |
| base64ToBinary | Mengembalikan versi biner untuk string yang dikodekan base64. |
| base64ToString | Mengembalikan versi string untuk string yang dikodekan base64. |
| binary | Kembalikan representasi biner dari nilai input. |
| bool | Mengembalikan versi Boolean untuk nilai input. |
| coalesce | Mengembalikan nilai non-null pertama dari satu atau beberapa parameter. |
| createArray | Hasilkan array dari berbagai input. |
| dataUri | Mengembalikan URI data untuk nilai input. |
| dataUriToBinary | Mengembalikan versi biner untuk URI data. |
| dataUriToString | Mengembalikan versi string untuk URI data. |
| decodeBase64 | Mengembalikan versi string untuk string yang dikodekan base64. |
| decodeDataUri | Mengembalikan versi biner untuk URI data. |
| decodeUriComponent | Mengembalikan string yang menggantikan karakter escape dengan versi yang didekodekan. |
| encodeUriComponent | Kembalikan string yang mengganti karakter tidak aman pada URL dengan karakter pelolosan. |
| float | Mengembalikan bilangan titik mengambang untuk nilai input. |
| int | Mengembalikan versi bilangan bulat untuk string. |
| json | Mengembalikan nilai atau objek jenis JavaScript Object Notation (JSON) untuk string atau XML. |
| string | Mengembalikan versi string untuk nilai input. |
| uriComponent | Mengembalikan versi yang dikodekan URI untuk nilai input dengan mengganti karakter URL yang tidak aman dengan karakter escape. |
| uriComponentToBinary | Mengembalikan versi biner untuk string yang dikodekan URI. |
| uriComponentToString | Mengembalikan versi string untuk string yang dikodekan URI. |
| xml | Mengembalikan versi XML untuk sebuah string. |
| xpath | Periksa XML untuk simpul atau nilai yang cocok dengan ekspresi XPath (Bahasa Jalur XML), dan kembalikan simpul atau nilai yang cocok. |
Fungsi matematika
Gunakan fungsi-fungsi ini dengan kedua jenis angka: bilangan bulat dan float.
| Fungsi matematika | Task |
|---|---|
| add | Mengembalikan hasil dari menambahkan dua angka. |
| div | Mengembalikan hasil dari pembagian dua angka. |
| max | Mengembalikan nilai tertinggi dari sekumpulan angka atau array. |
| min | Mengembalikan nilai terendah dari sekumpulan angka atau array. |
| mod | Mengembalikan sisa dari pembagian dua bilangan. |
| mul | Mengembalikan hasil dari perkalian dua angka. |
| rand | Mengembalikan bilangan bulat acak dari rentang tertentu. |
| range | Mengembalikan array bilangan bulat yang dimulai dari bilangan bulat tertentu. |
| sub | Mengembalikan hasil dari mengurangi angka kedua dari angka pertama. |
Fungsi tanggal
| Fungsi tanggal atau waktu | Task |
|---|---|
| addDays | Tambahkan sejumlah hari ke tanda waktu. |
| addHours | Tambahkan sejumlah jam ke tanda waktu. |
| addMinutes | Tambahkan sejumlah menit ke tanda waktu. |
| addSeconds | Tambahkan sejumlah detik ke tanda waktu. |
| addToTime | Tambahkan sejumlah unit waktu ke tanda waktu. Lihat juga getFutureTime. |
| convertFromUtc | Mengonversi tanda waktu dari Waktu Universal Terkoordinasi (UTC) ke zona waktu target. |
| convertTimeZone | Konversi tanda waktu dari zona waktu sumber ke zona waktu target. |
| convertToUtc | Mengonversi tanda waktu dari zona waktu sumber menjadi Waktu Universal Terkoordinasi (UTC). |
| dayOfMonth | Mengembalikan komponen hari dari bulan berdasarkan cap waktu. |
| dayOfWeek | Mengembalikan komponen hari dalam seminggu dari tanda waktu. |
| dayOfYear | Mengembalikan komponen hari dalam setahun dari tanda waktu. |
| formatDateTime | Mengembalikan tanda waktu sebagai string dalam format opsional. |
| getFutureTime | Mengembalikan tanda waktu saat ini ditambah unit waktu yang ditentukan. Lihat juga addToTime. |
| getPastTime | Mengembalikan tanda waktu saat ini dikurangi unit waktu yang ditentukan. Lihat juga subtractFromTime. |
| startOfDay | Mengembalikan awal hari untuk tanda waktu. |
| startOfHour | Mengembalikan awal jam untuk tanda waktu. |
| startOfMonth | Mengembalikan awal bulan untuk cap waktu. |
| subtractFromTime | Kurangi sejumlah unit waktu dari tanda waktu. Lihat juga getPastTime. |
| ticks | Mengembalikan nilai properti ticks untuk tanda waktu tertentu. |
| utcNow | Mengembalikan tanda waktu saat ini sebagai string. |