Data Push adalah fitur DataWorks yang memungkinkan Anda mengkueri data dari sumber data menggunakan SQL dan mendorong hasilnya ke alamat webhook atau email. Anda dapat mengonfigurasi Tugas Terjadwal untuk mengirim data bisnis secara berkala ke berbagai tujuan hanya dalam beberapa langkah sederhana. Topik ini menjelaskan cara mengonfigurasi dan menggunakan fitur Data Push.
Ikhtisar
Data Push memungkinkan Anda membuat tugas push dengan menulis kueri SQL untuk menentukan cakupan data serta menyusun konten pesan dalam format Rich Text atau tabel. Anda dapat mengonfigurasi Tugas Terjadwal untuk mendorong data secara berkala 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 push yang didukung: DingTalk, Lark, WeCom, Email, dan Teams.
Batasan
Setiap pernyataan SELECT dapat mengembalikan maksimal 10.000 baris.
Batas ukuran data bervariasi tergantung pada tujuan:
DingTalk: Ukuran muatan maksimum adalah 20 KB.
Lark: Ukuran muatan maksimum adalah 20 KB, dan gambar harus lebih kecil dari 10 MB.
WeCom: Setiap bot dibatasi mengirim maksimal 20 pesan/menit.
Teams: Ukuran muatan maksimum adalah 28 KB.
Email: Setiap tugas Data Push hanya mendukung satu isi email. Jika isi email telah ditambahkan, Anda tidak dapat menambahkan isi lainnya. Untuk batasan lainnya, lihat pembatasan SMTP dari penyedia layanan email Anda.
Fitur Data Push hanya tersedia di Ruang Kerja DataWorks di wilayah berikut: China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Chengdu), China (Hong Kong), Singapura, Jepang (Tokyo), AS (Silicon Valley), AS (Virginia), dan Jerman (Frankfurt).
Prasyarat
Sumber data telah dibuat. Untuk informasi selengkapnya tentang cara membuat sumber data di DataWorks, lihat Kelola sumber data.
Kelompok sumber daya telah diaktifkan akses jaringan publiknya. Untuk informasi selengkapnya, lihat Solusi konektivitas jaringan.
1. Buat tugas push data
Buka DataService Studio.
Masuk ke Konsol DataWorks. Alihkan ke wilayah tempat sumber data Anda berada. Di panel navigasi sebelah kiri, pilih . Pilih Ruang Kerja Anda dari daftar drop-down lalu klik Go to DataService Studio.
Buat tugas Data Push.
Di panel navigasi sebelah kiri DataService Studio, pilih . Di halaman Data Push, klik ikon
lalu pilih Create Data Push Task. Masukkan nama tugas lalu klik OK.
2. Konfigurasi tugas push data
Opsi: Siapkan data sampel
Untuk membantu Anda memulai dengan cepat, bagian berikut menggunakan contoh mendorong hasil kueri dari tabel MaxCompute bernama sales. Dalam contoh ini, fitur Data Push digunakan untuk mengirim jumlah penjualan harian untuk setiap departemen beserta perubahannya dari hari sebelumnya ke saluran tertentu. Untuk mengikuti contoh ini, buat tabel sales di lingkungan Anda. Kode berikut menyediakan pernyataan untuk membuat dan memasukkan data ke dalam tabel sales. Untuk informasi selengkapnya 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, 'Dept. 1', 12000.00);
INSERT INTO TABLE sales PARTITION(ds='20240101')(id, department, revenue ) VALUES (2, 'Dept. 2', 21000.00);
INSERT INTO TABLE sales PARTITION(ds='20240101')(id, department, revenue ) VALUES (3, 'Dept. 3', 5000.00);
INSERT INTO TABLE sales PARTITION(ds='20240102')(id, department, revenue ) VALUES (1, 'Dept. 1', 11000.00);
INSERT INTO TABLE sales PARTITION(ds='20240102')(id, department, revenue ) VALUES (2, 'Dept. 2', 20000.00);
INSERT INTO TABLE sales PARTITION(ds='20240102')(id, department, revenue ) VALUES (3, 'Dept. 3', 10000.00);Pilih sumber data
Pilih Data source type, Data source name, dan Data source env. untuk tugas tersebut. Anda dapat memilih lingkungan sumber data berdasarkan apakah Anda menggunakan tabel pengembangan atau tabel produksi. Jika Anda mengikuti contoh ini, pastikan untuk memilih lingkungan tempat Anda membuat tabel sales.

Untuk daftar jenis sumber data yang didukung, lihat Sumber data dan saluran yang didukung.
Tulis SQL kueri
Tentukan cakupan data dan ambil data.
Di bagian Edit Query SQL, tulis kueri SQL untuk menentukan data yang akan didorong. Contohnya:
-- Get the sales amount for each department on 20240102 SELECT id, department, revenue FROM sales WHERE ds='20240102'; -- Get the change in sales amount from 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 selesai menulis pernyataan SQL, bidang-bidang dari hasil kueri akan otomatis ditambahkan ke bagian . Jika parameter output gagal diurai atau salah, Anda dapat menonaktifkan Automatically Parse Parameters dan secara manual Add Parameter.

Anda juga dapat mengonfigurasi variabel kustom dalam SQL Anda menggunakan format
${variable_name}. Variabel ini adalah Assignment Parameters, yang dapat diberi nilai Assignment Parameters atau konstanta. Hal ini memungkinkan input parameter dinamis dalam kode Anda. Untuk informasi selengkapnya, lihat Konfigurasi konten push.-- Dynamically assign time variables by using scheduling parameters. -- Get the latest sales amount for each department daily. SELECT id, department, revenue FROM sales WHERE ds='${date}'; -- Also, get the change in sales amount from 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}';
Lakukan kueri tersegmentasi.
Untuk tabel besar, Data Push memungkinkan Anda mengkueri data secara tersegmentasi menggunakan metode Next Token. Anda dapat mengklik di bilah alat editor kode untuk petunjuk penggunaan.
Konfigurasi konten push
Di bagian Content to Push, Anda dapat mengedit konten pesan dalam format seperti Markdown dan Table. Konten ini kemudian dikirim ke webhook.
Setelah menetapkan judul pesan kustom di bidang Title, klik Add di area konten untuk memilih Markdown, Table, atau Email Body untuk menyusun konten push. Contoh berikut menunjukkan konfigurasi sampel. Anda dapat mengklik Preview di bilah alat untuk melihat tampilan pesan push.
Jika tujuannya adalah email, konten dari bagian Markdown dan Table dikirim sebagai lampiran. Konten Table dirender dan ditampilkan dalam pesan email.
Jika tujuannya bukan email, konten dari bagian Markdown dan Table ditampilkan sebagai isi pesan webhook. Konten Email Body disembunyikan.
Konten Markdown
Gunakan variabel parameter: Saat menyusun konten push, Anda dapat menyematkan Assignment Parameters dan Output Parameters dalam konten rich text Anda menggunakan sintaksis
${parameter_name}. Saat tugas Data Push dijalankan, variabel ini akan diganti dengan nilai yang ditetapkan atau hasil kueri SQL.Assignment Parameters: Anda perlu memberikan nilai constant atau ekspresi date and time expression dari parameter penjadwalan ke variabel di bagian .
Output Parameters: Ini adalah nama bidang atau alias, seperti
A, B, ..., dalam kueri SQL sepertiSELECT A,B… FROM TABLE. Mereka merepresentasikan data yang dikembalikan oleh kueri.
@mention anggota: Anda dapat mengonfigurasi fitur ini untuk secara otomatis @mention orang tertentu saat mendorong pesan ke webhook Lark.
Secara default, mode Markdown menggunakan Rich Text untuk menyusun pesan. Untuk @mention pengguna di Lark, klik ikon
untuk beralih ke mode sumber Markdown. Anda kemudian dapat menggunakan <at id="all" />atau<at email="username@example.com" />untuk memberi tahu mereka.
Markdown juga mendukung fitur seperti menambahkan gambar dan menyisipkan DingTalk Emojis.

Konten tabel
Klik Add Column untuk menambahkan kolom ke tabel dan mengaitkan Parameters dengannya.
Saat tujuannya adalah webhook Lark, klik ikon
di sebelah kolom tabel untuk membuka dialog Modify Field. Di sini, Anda dapat menyesuaikan Field, Display Name, Display Style, dan Condition untuk menyesuaikan tampilan konten yang didorong.Field: Anda dapat beralih ke bidang Output Parameters lainnya.
Display Name: Ini adalah nama yang ingin Anda tampilkan di header tabel saat konten didorong ke alat kolaborasi.
Display Style: Tambahkan awalan atau akhiran tetap sebelum atau sesudah Value di tabel.
Condition: Bandingkan Value tabel dengan nilai yang dikonfigurasi. Anda kemudian dapat menyesuaikan warna tampilan dan Additional Unicode berdasarkan apakah kondisi tersebut Yes.

CatatanPembuatan dan dukungan tabel bervariasi tergantung saluran:
DingTalk: Mendukung tabel Markdown dan tabel bawaan Data Push. Namun, tidak mendukung pengaturan Display Style dan Condition yang dikonfigurasi di dialog Modify Field. Aplikasi seluler DingTalk tidak mendukung menampilkan tabel.
Lark: Mendukung tabel Markdown dan tabel bawaan Data Push, serta dapat merendernya.
WeCom: Mendukung mendorong tabel Markdown tetapi tidak merendernya.
Aplikasi seluler Teams: Mendukung tabel Markdown dan dapat merendernya.
Isi email
Data Push memungkinkan Anda menambahkan isi email ke konten push. Perhatikan hal-hal berikut saat mengedit isi email:
Setiap tugas Data Push hanya mendukung satu isi email.
Isi email hanya dirender jika tujuannya adalah email. Jika bukan, konten Email Body akan disembunyikan.

3. Konfigurasi pengaturan push
Sebelum mengonfigurasi Push Settings, Anda harus terlebih dahulu membuat tujuan. Di halaman Service Development, klik ikon
di pojok kiri bawah untuk membuka panel pengaturan. Alihkan ke tab Destination Management, lalu klik Create Destination. Jenis tujuan yang didukung meliputi DingTalk, Lark, WeCom, Teams, dan Email.
Buat tujuan webhook
Saat Anda Create Destination, konfigurasikan parameter berikut:
Type: Pilih jenis saluran, seperti DingTalk, Lark, WeCom, atau Teams.
Destination Name: Masukkan nama kustom untuk tujuan baru.
Webhook: Masukkan URL webhook untuk tujuan yang dipilih.
Untuk informasi tentang cara mendapatkan webhook bot Lark, lihat Konfigurasi pemicu Webhook Lark.
Untuk informasi tentang cara mendapatkan webhook Teams, lihat Buat Incoming Webhooks menggunakan alur kerja Microsoft Teams.

Buat tujuan email
Sebelum mengonfigurasi Push Settings, Anda harus terlebih dahulu membuat tujuan. Di halaman Service Development, klik ikon
di pojok kiri bawah untuk membuka panel pengaturan. Alihkan ke tab Destination Management, lalu klik Create Destination.
Saat Anda Create Destination, konfigurasikan parameter berikut:
Type: Pilih Email.
Destination Name: Masukkan nama kustom untuk tujuan baru.
SMTP Host: Alamat server email.
SMTP Port: Nomor port server email. Nilai default adalah 465, yang dapat diubah.
Sender Address: Alamat pengirim email.
SMTP Account: Nama lengkap akun email.
SMTP Password: Kata sandi untuk akun email.
Receiver Address: Alamat email tujuan.

Pengaturan push
Klik Push Settings di sebelah kanan untuk mengonfigurasi jadwal, kelompok sumber daya, dan tujuan untuk tugas push. Tugas tersebut kemudian akan dijalankan sesuai jadwal yang dikonfigurasi. Pengaturan spesifiknya adalah sebagai berikut:
Konfigurasi Jadwal: Konfigurasikan jadwal dan waktu spesifik untuk layanan Data Push mendorong konten yang disusun.
Schedule
Specified time
Schedule time
Example
Month
Tentukan hari dalam bulan saat tugas dijalankan.
Waktu terjadwal untuk tugas dijalankan pada hari yang dijadwalkan.
Schedule: Month
Specified time: 1st of every month
Schedule time: 08:00
Actual run time: Tugas dijalankan pada pukul 08:00 tanggal 1 setiap bulan.
Week
Tentukan hari dalam minggu saat tugas dijalankan.
Waktu terjadwal untuk tugas dijalankan pada hari yang dijadwalkan.
Schedule: Week
Specified time: Monday
Schedule time: 09:00
Actual run time: Tugas dijalankan pada pukul 09:00 setiap Senin.
Day
CatatanJadwal harian dijalankan setiap hari.
Waktu terjadwal untuk tugas dijalankan pada hari yang dijadwalkan.
Schedule: Day
Schedule time: 08:00
Actual run time: Tugas dijalankan pada pukul 08:00 setiap hari.
Hour
CatatanAnda dapat memilih antara dua mode push:
Push pada interval jam tertentu.
Push pada jam dan menit tertentu.
Push at an hourly interval:
Start Time: 00:00
Interval: 1 hour
End Time: 23:59
Actual run time: Tugas dijalankan setiap jam dari 00:00 hingga 23:59 setiap hari.
Push at a specified hour and minute:
Specified hour: 0, 1
Specified minute: 10
Actual run time: Tugas dijalankan pada pukul 00:10 dan 01:10 setiap hari.
Timeout definition: Anda dapat membatasi durasi tugas push data. Jika tugas melebihi durasi yang dikonfigurasi, tugas tersebut akan dihentikan.
System Default: Timeout tugas disesuaikan secara dinamis berdasarkan beban sistem, berkisar antara 3 hingga 7 hari. Tugas yang timeout akan dihentikan secara otomatis.
Example: Jika Anda menetapkan timeout Custom selama 1 jam, tugas push akan dihentikan jika berjalan lebih dari 1 jam setelah waktu mulai terjadwalnya.
Effective Date: Konfigurasikan rentang waktu efektif untuk tugas. Jika waktu sistem saat ini berada di luar rentang ini, tugas tidak akan dijadwalkan secara otomatis.
Permanent: Tugas selalu efektif dan tidak dibatasi oleh rentang tanggal.
Example: Jika Anda menetapkan rentang waktu Specified time dari 2024-01-01 hingga 2024-12-31, tugas akan didorong sesuai jadwalnya dalam periode ini.
Resource Group for Scheduling: Anda dapat mengonfigurasi exclusive resource group for scheduling atau serverless resource group (serbaguna) untuk menyediakan sumber daya penjadwalan bagi tugas. Untuk informasi selengkapnya tentang kelompok sumber daya, lihat Kelola kelompok sumber daya.
Destination: Anda dapat mendorong konten yang dikonfigurasi ke tujuan yang dipilih. Anda hanya dapat memilih dari tujuan yang telah dibuat. Tujuan dikonfigurasi di Data Push Task Management.
CatatanSaat mendorong ke webhook DingTalk, Anda harus menambahkan kata kunci di bagian saat mengonfigurasi bot. Pastikan konten push mencakup salah satu kata kunci tersebut agar push berhasil.

4. Uji tugas push data
Setelah membuat tugas, klik Save di bilah alat untuk menyimpan konfigurasi saat ini, lalu klik Test guna menjalankan pengujian di lingkungan pengembangan dan memverifikasi bahwa data dapat didorong secara sukses. Anda perlu memberikan nilai konstanta ke variabel secara manual untuk pengujian tersebut.

Sebelum dapat mengklik Submit dan Publish, tugas Data Push harus terlebih dahulu lulus pengujian di lingkungan pengembangan.
5. Publikasikan tugas push
Kelola versi tugas
Setelah pengujian di lingkungan pengembangan berhasil, klik Submit. Tugas yang belum dikirimkan tetap dalam status draft dan tidak menghasilkan versi baru.
Mengirimkan tugas akan menghasilkan versi baru. Di panel Version di sebelah kanan, temukan versi yang telah dikirimkan dengan status Can Be Published, lalu klik Publish. Tugas tersebut kemudian dipublikasikan dan dijalankan secara berkala sesuai Push Settings.
Anda dapat mengelola tugas Data Push di panel Version.
Task status
Actions
Description
Published
Data Push Task Management
Buka halaman Data Push Task Management untuk melihat informasi rinci tentang tugas yang dipublikasikan. Untuk informasi selengkapnya, lihat Kelola tugas push data.
Can Be Published
Publish
Publikasikan versi tugas yang sesuai.
Deprecate
Deprecate versi tugas yang sesuai dan ubah statusnya menjadi Deprecated.
Off-Line, Deprecated
Version Details
Lihat konfigurasi dan konten push untuk versi yang sesuai.
Roll back
Kembalikan ke versi yang sesuai.
CatatanTindakan Version Details dan Roll back tersedia untuk tugas dalam semua status dan berfungsi secara konsisten.

Kelola tugas push data
Setelah tugas Data Push dipublikasikan, buka halaman daftar Data Push Tasks dengan mengklik Data Push Task Management di kolom Actions pada panel Version, atau dengan menavigasi ke .
Halaman ini mencantumkan semua Data Push Tasks yang dipublikasikan dan menampilkan ID, Name, data source name, Data source env., Node Mode, Resource Group for Scheduling, Owner, publisher, dan Published Time-nya. Anda dapat melakukan tindakan berikut di kolom Actions untuk tugas yang dipublikasikan:
Actions | Description |
Unpublish | Menonaktifkan tugas yang dipilih. |
Test | Buka halaman Test Data Push Task untuk menguji tugas yang dipublikasikan. |
Klik ikon
di kolom Name untuk membuka halaman Version Details untuk tugas yang dipilih.

Uji tugas yang dipublikasikan
Setelah tugas Data Push dipublikasikan, tugas tersebut mendorong konten ke tujuan yang ditentukan berdasarkan pengaturan yang telah Anda konfigurasi. Anda dapat membuka halaman Test Data Push task dengan salah satu dari dua cara berikut:
Metode 1: Pilih .
Metode 2: Buka .
Dengan menguji tugas Data Push yang dipublikasikan, Anda dapat memastikan apakah tugas tersebut mendorong data dengan benar dan apakah tujuan dapat menerima data tersebut dengan baik.
