All Products
Search
Document Center

DataWorks:Data Push

Last Updated:Feb 25, 2026

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.

image

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

  1. Buka DataService Studio.

    Masuk ke Konsol DataWorks. Alihkan ke wilayah tempat sumber data Anda berada. Di panel navigasi sebelah kiri, pilih Data Analysis and Service > DataService Studio. Pilih Ruang Kerja Anda dari daftar drop-down lalu klik Go to DataService Studio.

  1. Buat tugas Data Push.

    Di panel navigasi sebelah kiri DataService Studio, pilih Service Development > Data Push. Di halaman Data Push, klik ikon image lalu pilih Create Data Push Task. Masukkan nama tugas lalu klik OK.

    image

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.

image

Catatan

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 Parameters > Output Parameters. Jika parameter output gagal diurai atau salah, Anda dapat menonaktifkan Automatically Parse Parameters dan secara manual Add Parameter.

    image

    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}';

    image

  • Lakukan kueri tersegmentasi.

    Untuk tabel besar, Data Push memungkinkan Anda mengkueri data secara tersegmentasi menggunakan metode Next Token. Anda dapat mengklik Code Help > Code Template > Next Token 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.

Catatan
  • 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 Parameters > Assignment Parameters.

    • Output Parameters: Ini adalah nama bidang atau alias, seperti A, B, ..., dalam kueri SQL seperti SELECT 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 image 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.

    image

Konten tabel

  • Klik Add Column untuk menambahkan kolom ke tabel dan mengaitkan Parameters dengannya.

  • Saat tujuannya adalah webhook Lark, klik ikon image 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.image

    Catatan
    • Pembuatan 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.

    image

3. Konfigurasi pengaturan push

Sebelum mengonfigurasi Push Settings, Anda harus terlebih dahulu membuat tujuan. Di halaman Service Development, klik ikon image 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.

Catatan

image

Buat tujuan email

Sebelum mengonfigurasi Push Settings, Anda harus terlebih dahulu membuat tujuan. Di halaman Service Development, klik ikon image 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.

image

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

    Catatan

    Jadwal 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

    Catatan

    Anda 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.

    Catatan

    Saat mendorong ke webhook DingTalk, Anda harus menambahkan kata kunci di bagian Security Settings > Custom Keywords saat mengonfigurasi bot. Pastikan konten push mencakup salah satu kata kunci tersebut agar push berhasil.

image

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.

image

Catatan

Sebelum dapat mengklik Submit dan Publish, tugas Data Push harus terlebih dahulu lulus pengujian di lingkungan pengembangan.

5. Publikasikan tugas push

Kelola versi tugas

  1. Setelah pengujian di lingkungan pengembangan berhasil, klik Submit. Tugas yang belum dikirimkan tetap dalam status draft dan tidak menghasilkan versi baru.

  2. 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.

    Catatan

    Tindakan Version Details dan Roll back tersedia untuk tugas dalam semua status dan berfungsi secara konsisten.

    image

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 Service Management > Data Push Task Management.

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.

Catatan

Klik ikon image di kolom Name untuk membuka halaman Version Details untuk tugas yang dipilih.

image

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 Service Management > Test Data Push Task.

  • Metode 2: Buka Service Management > Data Push Task Management > Data Push Tasks.

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.

image