Bagikan melalui


Parameter untuk Data Factory di Microsoft Fabric

Panduan ini menunjukkan kepada Anda cara menggunakan parameter di alur Data Factory Anda di Fabric. Ini adalah cara sederhana untuk membuat alur kerja Anda lebih fleksibel dan lebih mudah dikelola.

Cara menggunakan parameter, ekspresi, dan fungsi dalam alur untuk Data Factory di Fabric

Panduan ini memandu Anda melalui dasar-dasar pembuatan alur berparameter di Data Factory for Fabric, menggunakan contoh yang jelas di sepanjang jalan. Dengan menggunakan parameter dan ekspresi dinamis, Anda dapat menghemat banyak waktu dan membangun solusi ETL yang fleksibel (Ekstrak, Transformasi, Muat) atau ELT (Ekstrak, Muat, Transformasi). Teknik ini mengurangi pengodean keras dan membantu Anda menggunakan kembali objek dan proses, yang membuatnya lebih mudah untuk mempertahankan alur Anda dan meluncurkan fitur baru lebih cepat.

Konsep parameter dan ekspresi

Anda dapat menggunakan parameter untuk meneruskan nilai eksternal ke pipeline Anda. Setelah parameter diatur, parameter tetap sama sepanjang proses dan tidak dapat diubah. Dengan menggunakan parameter, Anda dapat menggunakan kembali alur yang sama dengan nilai yang berbeda setiap kali. Mereka dapat digunakan sendiri atau di dalam ekspresi, dan nilai-nilai tersebut dapat bersifat tetap atau dihitung saat pipeline berjalan.

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, cukup hapus @ untuk mendapatkan konten aktual. Dan jika Anda memerlukan string yang dimulai dengan @, cukup lepaskan dengan mengetik @@. Di bawah ini adalah beberapa contoh untuk 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, menggunakan fitur yang disebut interpolasi string di mana ekspresi dibungkus dalam @{ ... }. Misalnya, string berikut menyertakan nilai parameter dan nilai string harfiah:

"Nama Depan: @{pipeline().parameters.firstName} Nama Belakang: @{pipeline().parameters.lastName}"

Menggunakan interpolasi string, hasilnya selalu merupakan string. Misalnya, jika Anda menentukan 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 penggunaan parameter dalam ekspresi

Membuat dan menggunakan parameter

Untuk membuat parameter, pilih latar belakang kanvas editor alur kerja, lalu tab Parameter di jendela properti yang terletak di bagian bawah. Pilih tombol + New untuk menambahkan parameter baru ke alur, beri nama, jenis data, dan nilai default:

Cuplikan layar memperlihatkan editor Parameter pada halaman properti untuk alur.

Anda kemudian dapat menggunakan parameter di mana saja di alur Anda di mana konten dinamis didukung. Dalam contoh ini, parameter digunakan untuk secara dinamis memberikan nama penyimpanan data Lakehouse di tab Sumber halaman properti aktivitas salin.

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

Jendela Tambahkan konten dinamis ditampilkan, memungkinkan Anda menentukan segala jenis konten dinamis, termasuk parameter, variabel sistem , fungsi , atau variabel alur. Dalam contoh ini, parameter yang ditentukan sebelumnya dipilih, dan jendela konten dinamis secara otomatis diisi dengan ekspresi yang benar untuk mereferensikan parameter.

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

Cara memparametrisasi koneksi

Mengparametrisasi koneksi dalam jalur pemrosesan memerlukan penggunaan GUID koneksi yang ingin Anda ganti secara dinamis.

  1. Sebelum Anda dapat mengubah koneksi secara dinamis di alur kerja Anda, Anda harus mendapatkan GUID untuk koneksi yang ingin Anda atur
  2. Buka Pengaturan | Mengelola koneksi dan gateway
  3. Temukan nama koneksi dan klik elipsis di samping nama koneksi
  4. Pilih Pengaturan dan salin ID Koneksi
  5. Gunakan parameter string untuk menempelkan GUID dalam parameter tersebut untuk digunakan dalam ekspresi dinamis Anda

Contoh ekspresi kompleks

Contoh berikut menunjukkan contoh kompleks yang mereferensikan subbidang mendalam output aktivitas. Untuk mereferensikan parameter alur yang mengevaluasi ke subbidang, gunakan sintaks [] alih-alih operator dot(.) (seperti halnya 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

Variabel sistem ini dapat dirujuk di mana saja dalam alur JSON.

Nama Variabel Description
@pipeline().DataFactory Nama data atau ruang kerja Synapse tempat alur dijalankan
@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. Ini adalah waktu di mana pemicu benar-benar dijalankan untuk memanggil pelaksanaan pipeline, dan waktu ini mungkin sedikit berbeda dari waktu yang telah dijadwalkan untuk pemicu tersebut.
@pipeline().GroupId ID grup tempat jalur pipa dieksekusi. Di Microsoft Fabric, 'grup' mengacu pada kumpulan sumber daya terkait yang dapat dikelola bersama- sama. Grup digunakan untuk mengatur dan mengontrol akses ke sumber daya, sehingga lebih mudah untuk mengelola izin dan memantau aktivitas di beberapa alur.
@pipeline()?.TriggeredByPipelineName Nama pipeline yang memicu jalannya pipeline. Berlaku saat alur kerja pipeline dipicu oleh aktivitas *ExecutePipeline*. Evaluasi ke Null ketika digunakan dalam situasi lain. Perhatikan tanda tanya setelah @pipeline()
@pipeline()?.TriggeredByPipelineRunId ID eksekusi dari pipeline yang memicu jalannya pipeline. Berlaku saat alur kerja pipeline dipicu oleh aktivitas *ExecutePipeline*. Evaluasi ke Null ketika digunakan dalam situasi lain. Perhatikan tanda tanya setelah @pipeline()

Note

Variabel sistem tanggal/waktu terkait pemicu (dalam lingkup alur dan pemicu) mengembalikan tanggal UTC dalam format ISO 8601, misalnya, 2017-06-01T22:20:00.4061448Z.

Fungsi String

Untuk bekerja dengan string, Anda dapat menggunakan fungsi string ini dan juga beberapa fungsi pengumpulan . 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, umumnya array, string, dan terkadang, kamus, Anda dapat menggunakan 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

Fungsi-fungsi ini berguna dalam kondisi, mereka dapat digunakan 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

Fungsi-fungsi ini digunakan 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

Fungsi-fungsi ini dapat digunakan untuk salah satu 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 Universal Time Coordinated (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 ke Universal Time Coordinated (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.