Fitur dorong data adalah layanan DataWorks yang mengambil data dari sumber data menggunakan kueri SQL dan mendorongnya ke alamat Webhook atau email. Anda dapat dengan mudah mengonfigurasi dorongan berkala data bisnis ke beberapa Webhook atau alamat email. Topik ini menjelaskan cara mengonfigurasi dan menggunakan fitur dorong data.
Ikhtisar
Anda dapat menjadwalkan tugas berkala untuk mendorong data ke Webhook atau alamat email tujuan.
Sumber data dan saluran yang didukung
-
Jenis sumber data yang didukung:
-
MySQL (kompatibel dengan StarRocks dan Doris)
-
PostgreSQL (kompatibel dengan Snowflake dan Redshift)
-
Hologres
-
MaxCompute (ODPS)
-
ClickHouse
-
-
Saluran dorong yang didukung mencakup DingTalk, Lark, WeCom, email, dan Teams.
Batasan
-
Setiap pernyataan SELECT dalam layanan dorong data dapat mengembalikan maksimal 10.000 baris.
-
Batas ukuran data untuk berbagai tujuan:
-
Untuk DingTalk, ukuran data yang didorong tidak boleh melebihi 20 KB.
-
Untuk Lark, ukuran data yang didorong tidak boleh melebihi 20 KB, dan setiap gambar harus lebih kecil dari 10 MB.
-
Untuk WeCom, setiap bot dapat mengirim hingga 20 pesan per menit.
-
Untuk Teams, konten yang didorong tidak boleh melebihi 28 KB.
-
Untuk email, setiap tugas dorong data hanya mendukung satu isi email. Untuk batasan lebih lanjut, lihat pembatasan SMTP dari layanan email Anda.
-
-
Fitur dorong data hanya tersedia di ruang kerja DataWorks di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Shenzhen), Tiongkok (Chengdu), Tiongkok (Hong Kong), Singapura, Jepang (Tokyo), AS (Silicon Valley), AS (Virginia), dan Jerman (Frankfurt).
Prasyarat
-
Pastikan sumber data telah dibuat. Untuk detailnya, lihat Manajemen Sumber Data.
-
Pastikan akses jaringan publik telah diaktifkan untuk kelompok sumber daya Anda. Untuk detailnya, lihat Ikhtisar solusi konektivitas jaringan.
Langkah 1: Buat tugas dorong
-
Buka Layanan Data.
Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah tempat sumber data Anda berada. Di panel navigasi kiri, pilih . Pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Service.
-
Buat tugas dorong data.
Di panel navigasi kiri Data Services, pilih untuk membuka halaman Data Push. Klik ikon
, pilih Create Data Push Task, masukkan nama untuk tugas tersebut, lalu klik OK. Halaman konfigurasi tugas akan terbuka.
Langkah 2: Konfigurasi tugas dorong
Persiapan (opsional)
Untuk membantu Anda melakukan dorong data dengan cepat, topik ini menggunakan contoh untuk menjelaskan cara mendorong hasil kueri dari tabel MaxCompute. Dalam contoh ini, Anda menggunakan fitur dorong data untuk mengirim data dari tabel bernama sales ke saluran tertentu. Data tersebut mencakup jumlah penjualan harian untuk setiap departemen dan perubahan jumlah penjualan dibandingkan hari sebelumnya. Jika Anda ingin mengikuti langkah-langkah dalam contoh ini, Anda harus terlebih dahulu membuat tabel sales di lingkungan Anda. Kode berikut menyediakan pernyataan untuk membuat tabel sales dan memasukkan data ke dalamnya. Untuk informasi lebih lanjut tentang cara membuat tabel, lihat Buat dan gunakan tabel MaxCompute.
CREATE TABLE IF NOT EXISTS sales (
id BIGINT COMMENT 'Unique identifier',
department STRING COMMENT 'Department name',
revenue DOUBLE COMMENT 'Revenue amount'
) PARTITIONED BY (ds STRING);
-- Insert sample data into partitions
INSERT INTO TABLE sales PARTITION(ds='20240101')(id, department, revenue ) VALUES (1, 'Department 1', 12000.00);
INSERT INTO TABLE sales PARTITION(ds='20240101')(id, department, revenue ) VALUES (2, 'Department 2', 21000.00);
INSERT INTO TABLE sales PARTITION(ds='20240101')(id, department, revenue ) VALUES (3, 'Department 3', 5000.00);
INSERT INTO TABLE sales PARTITION(ds='20240102')(id, department, revenue ) VALUES (1, 'Department 1', 11000.00);
INSERT INTO TABLE sales PARTITION(ds='20240102')(id, department, revenue ) VALUES (2, 'Department 2', 20000.00);
INSERT INTO TABLE sales PARTITION(ds='20240102')(id, department, revenue ) VALUES (3, 'Department 3', 10000.00);
Pilih sumber data
Pilih Data Source Type, Data Source Name, dan Data Source Environment untuk menentukan lingkungan tabel data untuk dorong data. Anda dapat memilih lingkungan sumber data berdasarkan apakah dorong data ditujukan untuk tabel pengembangan atau tabel produksi. Jika Anda melakukan latihan langsung, pastikan lingkungan tempat tabel sales yang Anda buat pada tahap persiapan berada.
Sebagai contoh, atur Jenis sumber data ke odps, Nama sumber data ke MaxCompute_Source, dan Lingkungan sumber data ke lingkungan produksi. Untuk membuat sumber data baru, klik tautan di bawah bidang Nama sumber data.
Untuk daftar jenis sumber data yang didukung, lihat Sumber data dan saluran yang didukung.
Tulis kueri SQL
-
Tentukan cakupan data dan ambil data.
Di bagian Edit Query SQL, gunakan kueri SQL satu tabel atau multi-tabel untuk menentukan data yang akan didorong. Contohnya:
-- Get the sales revenue for each department on 20240102 SELECT id, department, revenue FROM sales WHERE ds='20240102'; -- Get the change in sales revenue compared to the previous day SELECT a.revenue - b.revenue AS diff FROM sales a LEFT JOIN sales b ON a.id = b.id AND a.ds > b.ds WHERE a.ds = '20240102'AND b.ds = '20240101';Setelah Anda menulis SQL, bidang hasil secara otomatis diisi di bagian . Jika penguraian parameter output gagal atau salah, Anda dapat menonaktifkan Automatically Parse Parameters dan secara manual Add Parameter.
Anda juga dapat mengonfigurasi variabel kustom dalam SQL dengan menggunakan format
${variable_name}. Variabel ini merupakan Assignment Parameters(Assignment Parameters dapat diberi ekspresi waktu dan konstanta) untuk menerapkan input parameter dinamis pada kode Anda. Untuk informasi lebih lanjut, lihat Konfigurasi konten dorong.-- Use scheduling parameters to dynamically assign time variables. -- Get the latest daily sales revenue for each department SELECT id, department, revenue FROM sales WHERE ds='${date}'; -- Get the change in sales revenue compared to the previous day SELECT a.revenue - b.revenue AS diff FROM sales a LEFT JOIN sales b ON a.id = b.id and a.ds > b.ds WHERE a.ds = '${date}' AND b.ds = '${previous_date}'; -
Kueri terpaginasi.
Untuk tabel besar, dorong data mendukung kueri terpaginasi menggunakan Next Token. Klik di bilah alat editor kode untuk petunjuk penggunaan.
Konfigurasi konten dorong
Di bagian Content to Push, Anda dapat mengedit konten pesan menggunakan format Markdown dan Table. Konten ini akan didorong ke Webhook.
Setelah menyesuaikan judul pesan di bidang Title, klik Add di area isi. Kemudian, pilih Markdown, Table, atau Email Body untuk mengedit konten. Contoh berikut menunjukkan konfigurasi sampel. Anda dapat mengklik Preview di bilah alat untuk melihat format pesan.
-
Jika tujuan dorong adalah alamat email, konten yang disesuaikan di bagian Markdown dan Table dikirim sebagai lampiran. Isi email dirender dan ditampilkan dalam pesan email.
-
Jika tujuan dorong bukan alamat email, konten yang disesuaikan di bagian Markdown dan Table akan ditampilkan sebagai isi utama pesan Webhook. Email Body akan disembunyikan dalam pesan dorong Webhook.
Konten Markdown
-
Gunakan variabel parameter: Saat menyusun konten dorong, Anda dapat menambahkan Assignment Parameters dan Output Parameters ke teks kaya menggunakan format
${parameter_name}. Variabel ini diganti dengan data yang ditetapkan atau hasil kueri SQL yang sesuai saat tugas dorong data dijalankan.-
Assignment Parameters: Anda perlu menetapkan Constant atau Time Expression parameter penjadwalan ke variabel di bagian .
-
Output Parameters: Parameter ini sesuai dengan nama bidang atau alias dari kueri SQL Anda, seperti
A, B, ...dalam pernyataan sepertiSELECT A, B, ... FROM TABLE. Parameter ini merepresentasikan data yang dikueri.
-
-
@mention anggota: Anda dapat mengonfigurasi ini saat mendorong ke Webhook Lark untuk secara otomatis @mention pengguna tertentu.
-
Secara default, mode Markdown menggunakan teks kaya untuk mengonfigurasi konten pesan. Saat mendorong ke Lark, Anda dapat menggunakan fitur @mention untuk memberi tahu personel terkait. Anda dapat mengklik ikon
untuk beralih ke mode sumber Markdown, lalu gunakan <at id="all" />atau<at email="username@example.com" />untuk mencapai hal ini.
-
-
Selain fitur di atas, Markdown juga mendukung fungsi seperti Add Image dan memasukkan DingTalk Emoji.
Di area konten dorong, pilih Markdown sebagai jenis templat. Di isi, gunakan sintaks
${parameter_name}untuk mereferensikan parameter yang ditentukan di panel Input Parameters di sebelah kanan. Misalnya, jika Anda menulis${creator}dan${subscriber}di isi, dan mengatur creator ke "admin" serta subscriber ke "user" di tab Input parameters, variabel tersebut secara otomatis diganti dengan nilainya saat tugas dijalankan. Parameter input juga mendukung variabel waktu penjadwalan. Misalnya, Anda dapat mengatur date ke${yyyymmdd}dan previous_date ke${yyyymmdd-1}. Bagian Write Query SQL juga dapat mereferensikan parameter input untuk nilai dinamis, misalnya,SELECT id, department, revenue FROM sales WHERE ds='${date}';.
Konten tabel
-
Klik Add Column untuk menambah jumlah kolom di tabel. Anda kemudian dapat mengaitkan Parameters dengan kolom yang sesuai.
-
Saat tujuan dorong adalah Webhook Lark, klik ikon
di sebelah kanan kolom tabel yang telah dibuat untuk membuka kotak dialog Modify Field. Di kotak dialog ini, Anda dapat menyesuaikan Field, Display Name, Display Style, dan Condition untuk membuat efek tampilan beragam pada konten yang didorong.-
Field: Beralih ke bidang Output Parameters lainnya.
-
Display Name: Nama yang ingin Anda tampilkan di header tabel saat mendorong ke alat kolaborasi.
-
Display Style: Tambahkan awalan atau akhiran tetap sebelum atau sesudah Value di tabel.
-
Condition: Membandingkan Value di tabel dengan nilai perbandingan yang dikonfigurasi. Anda dapat menyesuaikan warna tampilan untuk nilai yang Yes atau No, dan menentukan Additional Unicode. Condition: Anda dapat mengaktifkan logika kondisional, mengatur operator (seperti
>=) dan ambang batas (seperti60). Jika kondisi terpenuhi, Anda dapat memilih Change to green. Jika kondisi tidak terpenuhi, Anda dapat memilih Change to red. Anda juga dapat mengonfigurasi Appended Identifier.
Catatan-
Metode penulisan tabel bervariasi tergantung saluran. Dukungan konten tabel untuk berbagai saluran adalah sebagai berikut:
-
DingTalk: Mendukung tabel Markdown dan tabel bawaan dorong data. Tidak mendukung rendering pengaturan Display Style dan Condition yang dikonfigurasi di kotak dialog Modify Field. Selain itu, DingTalk mobile tidak mendukung menampilkan tabel.
-
Lark: Mendukung tabel Markdown dan bawaan, termasuk rendering gaya tampilan dan kondisi kustom.
-
WeCom: Mendukung mendorong tabel Markdown tetapi tidak merendernya.
-
Teams mobile: Mendukung mendorong tabel Markdown dan dapat merendernya.
-
-
Isi email
Dorong data DataWorks mendukung penambahan isi email ke konten dorong. Saat mengedit isi email, perhatikan hal berikut:
-
Setiap tugas dorong data hanya mendukung satu isi email.
-
Isi email hanya dirender saat tujuan dorong adalah alamat email. Jika tujuan dorong bukan alamat email, Email Body disembunyikan dalam pesan dorong Webhook.
Langkah 3: Konfigurasi pengaturan dorong
Sebelum mengonfigurasi Push Settings, klik ikon
di pojok kiri bawah halaman Service Development untuk membuka panel pengaturan. Beralih ke tab Destination Management, lalu klik Create Destination untuk membuat tujuan. Jenis saluran yang didukung mencakup DingTalk, Lark, WeCom, Teams, dan Email.
Buat tujuan Webhook
Saat Anda mengklik Create Destination, konfigurasikan parameter berikut:
-
Type: Pilih jenis saluran. Opsi meliputi DingTalk, Lark, WeCom, dan Teams.
-
Destination Name: Masukkan nama kustom untuk tujuan dorong baru.
-
Webhook: URL Webhook dari saluran dorong yang dipilih.
-
Untuk cara mendapatkan Webhook bot Lark, lihat Configure a Lark Webhook trigger.
-
Untuk cara mendapatkan Webhook Teams, lihat Use Microsoft Teams workflows to create an incoming Webhook.
Daftar drop-down Type juga mendukung saluran Email. Setelah menyelesaikan konfigurasi, klik OK.
Buat tujuan email
Sebelum mengonfigurasi Push Settings, klik ikon
di pojok kiri bawah halaman Service Development untuk membuka panel pengaturan. Beralih ke tab Destination Management, lalu klik Create Destination untuk membuat tujuan.
Saat Anda mengklik Create Destination, Anda harus mengonfigurasi parameter berikut:
-
Type: Pilih Email.
-
Destination Name: Masukkan nama kustom untuk tujuan dorong baru.
-
SMTP Host: Alamat server email.
-
SMTP Port: Nomor port server email. Nilai default adalah 465, yang dapat diubah secara manual.
-
Sender Address: Alamat pengirim email.
-
SMTP Account: Akun email lengkap.
-
SMTP Password: Kata sandi untuk akun email.
-
Receiver Address: Alamat email tujuan.
Pengaturan Push
Klik Push Settings di sebelah kanan untuk mengonfigurasi siklus penjadwalan, sumber daya penjadwalan, dan tujuan dorong tugas. Item konfigurasi spesifik adalah sebagai berikut:
-
Siklus penjadwalan dan konfigurasi waktu jalankan: Konfigurasikan siklus penjadwalan dan waktu spesifik untuk layanan dorong data mendorong konten yang diedit.
Scheduling cycle
Specified time
Scheduling time
Example
Month
Tentukan hari dalam bulan untuk menjalankan push task.
Waktu penjadwalan untuk push task data pada hari tersebut.
Scheduling Frequency: Month
Specified Time: 1st of every month
Data Timestamp: 08:00
Actual run time: Push task dijalankan pukul 08.00 setiap tanggal 1 tiap bulan.
Week
Tentukan hari dalam minggu untuk menjalankan push task.
Waktu penjadwalan untuk push task data pada hari tersebut.
Scheduling Frequency: Week
Specified Time: Monday
Data Timestamp: 09:00
Actual run time: Push task dijalankan pukul 09.00 setiap hari Senin.
Day
CatatanSiklus harian menjadwalkan task untuk dijalankan setiap hari.
Waktu penjadwalan untuk push task data pada hari tersebut.
Scheduling Frequency: Day
Data Timestamp: 08:00
Actual run time: Push task dijalankan pukul 08.00 setiap hari.
Hour
CatatanAnda dapat memilih antara dua mode push:
-
Push dengan interval jam tertentu.
-
Push pada jam dan menit tertentu.
Push at an hourly interval:
Start Time: 00:00
Time Interval: 1 hour
End Time: 23:59
Actual run time: Push dilakukan setiap jam sekali dari pukul 00.00 hingga 23.59 setiap hari.
Push at specified hours and minutes:
Hour: 0, 1
Specified Minute: 10
Actual run time: Push dilakukan pukul 00.10 dan 01.10 setiap hari.
-
-
Timeout Definition: Menetapkan batas waktu untuk eksekusi tugas. Tugas dihentikan jika melebihi batas ini.
-
Default Value: Dengan pengaturan Default Value, timeout tugas disesuaikan secara dinamis berdasarkan beban sistem, dengan nilai berkisar antara 3 hingga 7 hari. Tugas yang timeout dihentikan.
-
Contoh: Jika Anda menetapkan timeout Custom selama 1 jam, tugas dorong dihentikan jika berjalan lebih dari 1 jam setelah waktu mulai yang dijadwalkan.
-
-
Valid From: Konfigurasikan rentang waktu selama tugas dorong data aktif.
-
Permanent: Tugas dorong data tetap berlaku secara permanen dan tidak dibatasi oleh rentang tanggal efektif.
-
Example: Jika Anda mengonfigurasi rentang Specified Time dari 2024-01-01 hingga 2024-12-31, tugas dorong dijalankan sesuai siklus penjadwalan yang dikonfigurasi dalam periode ini.
-
-
Resource Group for Scheduling: Anda dapat mengonfigurasi Exclusive resource group for scheduling atau serverless resource group (kelompok sumber daya serbaguna) untuk menyediakan sumber daya penjadwalan bagi tugas dorong data. Untuk informasi lebih lanjut tentang kelompok sumber daya, lihat Manajemen Kelompok Sumber Daya.
-
Push Every Time: Mengontrol apakah notifikasi dorong dikirim saat kueri SQL tidak mengembalikan data.
-
Diaktifkan (default): Dorong dieksekusi pada setiap jadwal, terlepas dari apakah kueri mengembalikan data atau tidak.
-
Dimatikan: Jika semua variabel yang digunakan dalam konten dorong, kecuali parameter input, kosong, pesan tidak dikirim. Anda dapat menggunakan klausa
WHEREatauHAVINGdalam SQL untuk memfilter data. Jika kondisi filter tidak terpenuhi dan hasil kueri kosong, tugas dorong secara otomatis dilewati dan pesan tidak dikirim.
-
-
Destination: Anda dapat mendorong konten yang dikonfigurasi ke tujuan yang dipilih. Anda hanya dapat memilih dari tujuan dorong yang sudah ada, yang dikonfigurasi di Data Push Task Management.
CatatanSaat mendorong ke Webhook DingTalk, Anda harus menambahkan kata kunci di bagian pada konfigurasi bot. Pastikan konten dorong mencakup kata kunci ini agar dorong berhasil.
Langkah 4: Uji tugas dorong
Setelah membuat tugas dorong data, klik tombol Save di bilah alat untuk menyimpan konfigurasi saat ini. Kemudian, klik Test untuk melakukan pengujian tahap pengembangan guna memverifikasi bahwa dorong data berfungsi dengan benar. Anda harus secara manual menetapkan nilai konstan ke variabel untuk pengujian.
Tugas dorong data harus lulus pengujian dorong di lingkungan pengembangan sebelum dapat Submit dan Publish.
Langkah 5: Publikasikan tugas dorong
Manage versi tugas
-
Setelah Anda memastikan bahwa pengujian selama pengembangan berhasil, klik Submit. Jika tugas dorong tidak diajukan, tugas tersebut tetap dalam status draf dan tidak menghasilkan versi baru.
-
Setelah Anda mengajukan layanan, versi baru dihasilkan. Di panel Version di sebelah kanan, temukan versi yang diajukan yang berstatus Can Be Published dan klik Publish. Menerbitkan tugas mengaktifkan jadwalnya sesuai yang ditentukan di Push Settings.
Di panel Version, kelola tugas dorong data sebagai berikut.
Status
Actions
Description
Publish
Data Push Task Management
Buka halaman Data Push Task Management, tempat Anda dapat melihat informasi detail tentang task yang telah dipublikasikan. Untuk informasi selengkapnya, lihat Manage data push tasks.
Can Be Published
Publish
Memublikasikan versi task yang sesuai.
Abandoned
Membuang versi task yang sesuai dan mengubah statusnya menjadi Abandoned.
Off-Line, Abandoned
Version Details
Menampilkan informasi konfigurasi dan konten push yang sesuai untuk versi task push data tersebut.
Roll Back
Memulihkan versi ini sehingga menjadi konfigurasi saat ini.
CatatanOperasi Version Details dan Roll Back tersedia dan berfungsi identik untuk tugas dalam semua status.
Manage tugas dorong
Setelah tugas dorong data berhasil diterbitkan, klik Data Push Task Management di kolom Operation panel Version, atau navigasikan ke halaman daftar Data Push Tasks melalui jalur .
Halaman ini mencantumkan semua Data Push Tasks yang diterbitkan dan menampilkan detail seperti ID, Name, Data Source Name, Data Source Environment, Node Mode, Resource Group for Scheduling, Owner, Deployer, dan Published Time. Di kolom Operation, lakukan operasi berikut pada tugas dorong data yang diterbitkan:
|
Aksi |
Description |
|
Unpublish |
Menonaktifkan tugas yang dipilih. |
|
Test |
Buka halaman Test Data Push Task, tempat Anda dapat menguji tugas yang diterbitkan. |
Mengklik ikon
di kolom Name membawa Anda ke halaman Version Details untuk tugas yang dipilih.
Uji tugas yang diterbitkan
Buka halaman Data Push Test dengan salah satu cara berikut:
-
Metode 1: Pilih .
-
Metode 2: Pilih .
Menguji tugas yang diterbitkan memastikan bahwa tugas tersebut berjalan dengan benar dan tujuan menerima data sesuai harapan.
Di halaman Data Push Test, pilih atau cari tugas dorong data target dari daftar drop-down, centang kotak Push to Destination jika diperlukan, lalu klik Start Test.
FAQ
Q: Apakah dorong data mendukung dorongan sesuai permintaan?
A: Untuk dorongan sesekali sesuai permintaan, gunakan fungsi Test dengan opsi Push to Destination dipilih. Untuk dorongan berulang bersyarat, nonaktifkan pengaturan Push Every Time; tugas tersebut hanya akan dijalankan jika kueri SQL Anda mengembalikan data.