Parameter untuk Data Factory di Microsoft Fabric

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:

Cuplikan layar memperlihatkan editor Parameter pada halaman properti untuk alur.

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.

Cuplikan layar memperlihatkan tab Sumber dari halaman properti aktivitas salin, menyoroti opsi Tambahkan konten dinamis.

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.

Cuplikan layar memperlihatkan jendela Tambahkan konten dinamis dengan parameter alur dipilih.

Parametrisasi koneksi

Untuk membuat parameter koneksi dalam alur, gunakan pengidentifikasi unik global (GUID) koneksi yang ingin Anda ganti secara dinamis.

  1. Sebelum Anda mengubah koneksi secara dinamis di alur Anda, dapatkan GUID koneksi yang ingin Anda atur.
  2. Buka Pengaturan>Kelola koneksi dan gateway.
  3. Temukan nama koneksi dan pilih elipsis (...) di sampingnya.
  4. Pilih Pengaturan dan salin ID Koneksi.
  5. 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.