Makro adalah placeholder dalam konfigurasi properti plugin Cloud Data Fusion. Variabel ini diwakili oleh variabel yang diapit dalam ${ }
, seperti
${input_file_path}
. Untuk mengaktifkan konfigurasi dinamis untuk elemen, seperti jalur
file dan nama tabel, placeholder diganti dengan nilai sebenarnya saat
runtime.
Saat melihat properti plugin, Anda dapat menambahkan makro ke kolom properti apa pun yang memiliki M di sampingnya. Untuk menambahkan makro, klik M.
Untuk mengetahui informasi selengkapnya, lihat Mengelola makro, preferensi, dan argumen runtime.
Fungsi makro
Selain makro, Anda dapat menggunakan fungsi makro standar berikut:
logicalStartTime()
secure()
Fungsi Waktu Mulai Logika
Fungsi makro logicalStartTime()
menampilkan waktu mulai logis dari operasi
pipeline sebagai nilai string.
Jika tidak ada parameter yang diberikan, metode ini akan menampilkan waktu mulai dalam milidetik. Semua parameter bersifat opsional. Fungsi ini menggunakan format waktu, offset, dan zona waktu sebagai argumen, serta menggunakan waktu mulai logis pipeline untuk melakukan penggantian:
${logicalStartTime([timeFormat[,offset [,timezone])}
Daftar berikut menunjukkan parameter opsional untuk logicalStartTime()
:
Parameter | Deskripsi |
---|---|
timeFormat |
Pola format waktu, dalam format SimpleDateFormat Java. |
offset |
Offset waktu sebelum waktu mulai logis. |
timezone |
Zona waktu yang akan digunakan untuk waktu mulai yang logis. |
Contoh
Dalam contoh ini, waktu mulai logis dari operasi pipeline adalah
2020-01-01T00:00:00
dan Anda memberikan makro berikut:
${logicalStartTime(yyyy-MM-dd'T'HH-mm-ss,1d-4h+30m)}
Formatnya adalah yyyy-MM-dd'T'HH-mm-ss
dan offset-nya adalah 1d-4h+30m
sebelum
waktu mulai logis. Saat runtime, nilai makro diganti dengan
2019-12-31T03:30:00
karena offset diterjemahkan menjadi 20,5 jam. Seluruh makro
dievaluasi menjadi 20, 5 jam sebelum tengah malam 1 Januari 2020.
Menggunakan logicalStartTime()
di plugin berbasis file
Cara paling umum untuk menggunakan fungsi ini adalah di kolom Jalur dalam plugin berbasis file.
Menyertakan waktu mulai pipeline dalam milidetik dalam nama file
Untuk mengambil waktu mulai sebenarnya dalam milidetik dalam nama file, hapus parameter dalam fungsi makro.
Contoh
Dalam contoh ini, Anda menyertakan waktu mulai pipeline, dalam milidetik, dalam nama file Amazon S3:
sales_012345671011.csv
Di properti sink Amazon S3, masukkan nilai berikut di kolom Path:
s3a://sales-data/sales_${logicalStartTime()}.csv
Menyertakan tanggal hari ini dalam nama file
Anda dapat menggunakan fungsi makro logicalStartTime()
dalam nama file untuk mengambil
tanggal saat ini.
Contoh
Dalam contoh ini, Anda mengambil tanggal hari ini dalam nama file S3 berikut:
s3a://sales-data/sales_20210204.csv
Di properti sink Amazon S3, masukkan nilai berikut di kolom Path:
s3a://sales-data/sales_${logicalStartTime(yyyyMMdd)}.csv
Menggunakan logicalStartTime
untuk menambahkan kolom Stempel Waktu ke kumpulan data terstruktur
Anda dapat menambahkan stempel waktu ke data terstruktur menggunakan transformasi Tambahkan Kolom dan logicalStartTime()
.
- Dapatkan plugin Field Adder Transform dari Cloud Data Fusion Hub. Setelah Anda men-deploy plugin, plugin akan muncul dalam daftar Transform sebagai Add Field.
- Saat Anda mengonfigurasi properti plugin, tambahkan stempel waktu ke data terstruktur—misalnya, untuk nama kolom, masukkan nama kolom baru dan untuk nilai kolom, masukkan fungsi makro
logicalStartTime()
.
Fungsi aman
Fungsi makro secure()
menggunakan satu kunci sebagai argumen dan mencari
nilai string terkait kunci dari Secure Store.
Untuk melakukan penggantian, kunci yang diberikan sebagai argumen harus sudah
ada di Secure Store. Hal ini berguna untuk melakukan penggantian dengan
data sensitif.
Contoh
Dalam contoh ini, untuk plugin yang terhubung ke database MySQL, Anda mengonfigurasi kolom properti sandi dengan nilai berikut:
${secure(password)}
Makro ini mengambil sandi dari Secure Store saat runtime.
Makro berulang
Makro dapat merujuk secara rekursif ke makro lain hingga sepuluh tingkat. Argumen makro dievaluasi dari argumen terdalam ke argumen terluar.
Contoh
Dalam contoh ini, Anda memiliki server yang merujuk ke nama host dan port. Anda menyediakan argumen runtime berikut, yang terakhir adalah makro yang merujuk ke makro lain:
- hostname:
examplepetstore.com
- port:
9991
- server-address:
${hostname}:${port}
Dalam konfigurasi pipeline, Anda menggunakan ekspresi berikut:
server-address: ${server-address}
Saat runtime, nilai ini akan diganti dengan nilai berikut:
examplepetstore.com:9991
Langkah selanjutnya
Pelajari makro, preferensi, dan argumen runtime lebih lanjut.
Pelajari cara menggunakan template plugin.