All Products
Search
Document Center

ApsaraMQ for Kafka:Pengambilan Pesan

Last Updated:Jun 28, 2025

ApsaraMQ for Kafka menyediakan fitur kueri pesan untuk mengkueri pesan berdasarkan offset atau titik waktu di konsol ApsaraMQ for Kafka. Jika fitur ini tidak memenuhi kebutuhan Anda, gunakan fitur pengambilan pesan yang disediakan oleh ApsaraMQ for Kafka. Fitur ini memungkinkan Anda mengambil pesan berdasarkan partisi, rentang offset, rentang waktu, serta kata kunci dari kunci dan nilai pesan. Topik ini menjelaskan cara mengaktifkan fitur pengambilan pesan, menentukan kondisi pencarian, menangguhkan, melanjutkan, dan menghapus tugas pengambilan pesan.

Prasyarat

  • Sebuah topik dibuat sebagai sumber data pada instance ApsaraMQ for Kafka. Untuk informasi lebih lanjut, lihat Langkah 1: Buat sebuah topik.

    Catatan

    Instance Serverless ApsaraMQ for Kafka tidak mendukung fitur pengambilan pesan.

  • Fitur pengambilan pesan tersedia di wilayah tempat instance ApsaraMQ for Kafka berada. Untuk informasi tentang wilayah-wilayah yang didukung, lihat Wilayah yang Didukung.

Informasi Latar Belakang

Fitur pengambilan pesan dari ApsaraMQ for Kafka didasarkan pada fitur konektor dari ApsaraMQ for Kafka dan fitur indeks dari Tablestore. Pesan dalam topik sumber dituangkan ke dalam konektor dan diteruskan ke tabel Tablestore. Anda dapat menggunakan fitur indeks yang disediakan oleh Tablestore untuk mengambil pesan.

  • Mengaktifkan fitur pengambilan pesan membuat sebuah konektor yang digunakan untuk menyinkronkan data dari ApsaraMQ for Kafka ke Tablestore. Nama konektor memiliki format ots-ms-{Nama topik}-{Enam karakter acak}. Untuk informasi tentang cara melihat detail tugas pengambilan pesan, lihat Lihat detail tugas pengambilan pesan.

  • Pertama kali Anda mengaktifkan fitur pengambilan pesan, ApsaraMQ for Kafka secara otomatis mengaktifkan Tablestore untuk Anda dan membuat instance Tablestore dan tabel di wilayah yang sama. Satu tabel Tablestore dibuat untuk setiap topik dengan fitur pengambilan pesan diaktifkan. Nama instance Tablestore dan tabel yang dibuat secara otomatis memiliki format berikut:

    • Nama instance: kfk-{12 karakter terakhir dari nama instance ApsaraMQ for Kafka}

    • Nama tabel: {Nama topik}:kafka_topic_{Nama topik}_{Enam karakter acak}

  • Untuk setiap topik dengan fitur pengambilan pesan diaktifkan, ApsaraMQ for Kafka secara otomatis membuat empat topik dan dua grup pada instance yang sesuai. Topik dan grup tersebut digunakan untuk mencatat konfigurasi dan status konektor. Nama topik dan grup yang dibuat memiliki format berikut:

    • Topik yang digunakan untuk mencatat offset konsumen konektor: connect-offset-{Nama konektor}

    • Topik yang digunakan untuk mencatat konfigurasi konektor: connect-config-{Nama konektor}

    • Topik yang digunakan untuk mencatat status konektor: connect-status-{Nama konektor}

    • Topik yang digunakan untuk mencatat data antrian pesan gagal dan pengecualian: connect-error-{Nama konektor}

    • Grup konsumen untuk konektor: connect-{Nama konektor}

    • Grup untuk kluster tugas: connect-cluster-{Nama tugas}

Penagihan

  • Fitur pengambilan pesan dari ApsaraMQ for Kafka sedang dalam pratinjau publik. ApsaraMQ for Kafka tidak membebankan biaya selama periode pratinjau publik.

  • Selama pratinjau publik fitur pengambilan pesan, Anda tidak dikenakan biaya untuk instance dan tabel yang dibuat secara otomatis di Tablestore.

Penting

Alibaba Cloud tidak menyediakan perjanjian tingkat layanan (SLA) untuk fitur pengambilan pesan. Untuk informasi tentang SLA dan penagihan layanan lainnya yang diperlukan untuk menggunakan fitur pengambilan pesan, lihat dokumentasi layanan terkait.

Catatan Penggunaan

  • Secara default, Anda dapat mengaktifkan fitur pengambilan pesan hingga tiga topik pada instance ApsaraMQ for Kafka pada saat yang bersamaan.

  • Nilai dalam kolom atribut tipe STRING di Tablestore tidak boleh melebihi 2 MB. Pesan yang ukurannya melebihi 2 MB tidak dapat disinkronkan atau diambil.

  • Tablestore menyimpan pesan yang disinkronkan dari instance ApsaraMQ for Kafka selama periode waktu yang sama dengan ApsaraMQ for Kafka menyimpan pesan. Setelah periode retensi berakhir, Tablestore secara otomatis membersihkan pesan dan menghapus indeks terkait. Untuk informasi tentang konfigurasi dan deskripsi periode retensi pesan di ApsaraMQ for Kafka, lihat Ubah konfigurasi untuk pesan.

    Kebijakan kedaluwarsa data Tablestore berbeda dari ApsaraMQ for Kafka. Oleh karena itu, pesan yang diambil oleh setiap tugas pengambilan pesan mungkin berbeda dari pesan yang memenuhi kondisi pencarian tertentu. Dalam hal ini, hasil akhir pengambilan yang berlaku.

Prosedur untuk Pengambilan Pesan

Langkah 1: Aktifkan fitur pengambilan pesan

Setelah mengaktifkan fitur pengambilan pesan untuk topik pada instance ApsaraMQ for Kafka, Anda dapat mengambil pesan dalam topik berdasarkan kebutuhan bisnis Anda.

Catatan
  • Pertama kali Anda mengaktifkan fitur pengambilan pesan untuk topik pada instance ApsaraMQ for Kafka, ApsaraMQ for Kafka secara otomatis membuat instance Tablestore yang berada di wilayah yang sama dengan instance ApsaraMQ for Kafka.

  • Pertama kali Anda mengaktifkan fitur pengambilan pesan untuk topik pada instance ApsaraMQ for Kafka, ApsaraMQ for Kafka secara otomatis membuat peran terkait layanan AliyunServiceRoleForAlikafkaConnector untuk memungkinkan Anda menggunakan fitur konektor. Jika peran terkait layanan telah dibuat, ApsaraMQ for Kafka tidak akan membuat peran tersebut lagi. Untuk informasi lebih lanjut, lihat Peran Terkait Layanan.

  1. Masuk ke Konsol ApsaraMQ for Kafka.

  2. Di bagian Resource Distribution halaman Overview, pilih wilayah tempat instance ApsaraMQ for Kafka yang ingin Anda kelola berada.

  3. Di panel navigasi sisi kiri, klik Instances.

  4. Pada halaman Instances, klik nama instance yang ingin Anda kelola.

  5. Di panel navigasi sisi kiri, klik Message Retrieval. Pada halaman yang muncul, klik Enable Message Retrieval.

  6. Di panel Enable Message Retrieval, konfigurasikan parameter dan klik OK.

    Catatan

    Pertama kali Anda mengaktifkan fitur pengambilan pesan untuk topik pada instance ApsaraMQ for Kafka, muncul pesan yang menunjukkan bahwa Anda belum mengaktifkan fitur konektor untuk instance tersebut setelah Anda klik Enable Message Retrieval. Dalam hal ini, klik OK di pesan tersebut lalu konfigurasikan parameter di panel Enable Message Retrieval.

    image

    Parameter untuk mengaktifkan fitur pengambilan pesan

    Parameter

    Deskripsi

    Contoh

    Data Source Topic

    Topik untuk mana Anda ingin mengaktifkan fitur pengambilan pesan.

    test

    Consumer Offset

    Offset dari mana Anda ingin mulai konsumsi pesan. Nilai default: Latest Offset. Nilai valid:

    • Earliest Offset: mengonsumsi pesan dari offset paling awal.

    • Latest Offset: mengonsumsi pesan dari offset terbaru.

    Latest Offset

    Record Time

    Waktu ketika setiap pesan yang diambil direkam. Nilai default: Instant Time. Nilai valid:

    • Native Time: waktu pembuatan pesan yang direkam oleh ApsaraMQ for Kafka. Ini adalah timestamp yang direkam oleh produser ketika pesan dikirim atau nilai bidang timestamp yang Anda tentukan untuk ProducerRecord.

    • Instant Time: waktu ketika pesan disinkronkan ke Tablestore.

      Nilai ini menentukan waktu ketika pesan disinkronkan ke Tablestore bukan ketika pesan diproduksi. Oleh karena itu, nilai dalam hasil pencarian mungkin berbeda dari waktu ketika pesan diproduksi.

    Native Time

    Pada halaman Message Retrieval, Anda dapat melihat topik untuk mana Anda mengaktifkan fitur pengambilan pesan.

Langkah 2: Kirim pesan uji pesan

Setelah mengaktifkan fitur pengambilan pesan untuk topik pada instance ApsaraMQ for Kafka, Anda dapat mengirim pesan ke topik untuk menguji apakah tugas pengambilan pesan telah dibuat.

  1. Pada halaman Message Retrieval, temukan topik yang ingin Anda kelola dan klik Details di kolom Actions.

  2. Di sudut kanan atas halaman Task Details, klik Test.

  3. Di panel Send Message, konfigurasikan parameter dan klik OK.

    1. Di bidang Message Key, masukkan kunci pesan. Contoh: demo.

    2. Di bidang Message Content, masukkan isi pesan. Contoh: {"key": "test"}.

    3. Konfigurasikan parameter Send to Specified Partition untuk menentukan apakah akan mengirim pesan uji ke partisi tertentu.

      • Jika Anda ingin mengirim pesan uji ke partisi tertentu, klik Yes dan masukkan ID partisi di bidang Partition ID. Contoh: 0. Untuk informasi tentang cara menanyakan ID partisi, lihat Lihat status partisi.

      • Jika Anda tidak ingin mengirim pesan uji ke partisi tertentu, klik No.

Langkah 3: Ambil pesan

  1. Pada halaman Message Retrieval, temukan topik yang ingin Anda kelola dan klik Search di kolom Actions.

  2. Di panel Search, lakukan operasi berikut untuk menentukan kondisi pencarian: Pilih item dari daftar drop-down kondisi pencarian, klik Add Search Condition, tentukan kondisi pencarian di kolom Value, lalu klik OK.

    image

    Catatan
    • Saat menentukan kondisi pencarian, Anda dapat memilih satu atau lebih nilai, termasuk Partition, Offset Range, Time Range, Key, dan Value.

    • Kami sarankan Anda menggunakan pengenal bisnis unik sebagai nilai kunci saat mengirim pesan. Dengan cara ini, pesan dapat dicocokkan secara tepat selama pencarian.

    Parameter pencarian

    Kondisi pencarian

    Deskripsi

    Partition

    Partisi dari mana Anda ingin mengambil pesan.

    Offset Range

    Rentang offset dari pesan yang ingin Anda ambil.

    Time Range

    Rentang waktu dalam mana pesan yang ingin Anda ambil berada. Anda dapat memilih rentang waktu dalam tiga hari terakhir atau menentukan rentang waktu kustom. Rentang waktu yang dapat Anda tentukan akurat hingga menit.

    Key

    Kunci atau isi pesan yang ingin Anda ambil.

    Item berikut menjelaskan aturan yang harus Anda ikuti saat menentukan kata kunci pencarian:

    • Pencocokan frasa digunakan sebagai pola pencarian. Sebagai contoh, jika kunci pesan adalah "ApsaraMQ for Kafka adalah layanan antrian pesan terdistribusi, berkapasitas tinggi, dan skalabel yang disediakan oleh Alibaba Cloud", Anda dapat menetapkan kata kunci pencarian menjadi "terdistribusi" atau kombinasi "Alibaba Cloud" dan "terdistribusi".

    • Jika kata kunci pencarian berisi tanda bintang (*) atau tanda tanya (?), pola pencocokan wildcard digunakan. Tanda bintang (*) menentukan string karakter apa pun. Tanda tanya (?) menentukan karakter apa pun. Huruf tidak peka huruf besar-kecil. Sebagai contoh, jika isi pesan adalah "AliKafkaTest001qaz", Anda dapat menentukan kata kunci pencarian sebagai "AliKafkaTe*".

      Untuk meningkatkan efisiensi pengambilan, kami sarankan Anda tidak menggunakan kata kunci yang dimulai dengan karakter wildcard. Pastikan bahwa string yang berisi karakter wildcard tidak melebihi 20 karakter panjangnya.

    Untuk informasi tentang penggunaan dan batasan tokenisasi, pencocokan frasa, dan pencocokan wildcard, lihat Tokenisasi, Kueri cocok frasa, dan Kueri wildcard.

    Value

  3. Pada halaman Topic Search, lihat pesan yang diambil.

    image

    Catatan
    • Hingga 10 pesan dapat ditampilkan dalam hasil pengambilan. Kami sarankan Anda menentukan kondisi pencarian yang akurat untuk pencocokan tepat.

    • Hingga 1 KB isi setiap pesan yang diambil dapat ditampilkan di konsol ApsaraMQ for Kafka. Jika pesan yang diambil melebihi 1 KB ukurannya, sistem secara otomatis memotong isi tersebut. Jika Anda ingin melihat isi pesan lengkap, unduh pesan tersebut.

    Parameter dalam hasil pengambilan

    Parameter

    Deskripsi

    Partition

    Partisi dari mana pesan diambil.

    Offset

    Offset pesan.

    Key

    Kunci pesan. Kunci diubah menjadi string.

    Value

    Nilai pesan, juga dikenal sebagai isi pesan. Nilai pesan diubah menjadi string.

    Created At

    Waktu ketika pesan dibuat atau ketika pesan disinkronkan ke Tablestore.

    Waktu pembuatan pesan adalah timestamp yang direkam oleh produser ketika pesan dikirim atau nilai bidang timestamp yang Anda tentukan untuk ProducerRecord.

    Catatan
    • Jika Anda menentukan nilai untuk bidang timestamp, nilai yang ditentukan akan ditampilkan.

    • Jika Anda tidak menentukan nilai untuk bidang timestamp, waktu sistem lokal ketika pesan dikirim akan ditampilkan.

    • Nilai dalam format 1970/x/x x:x:x menunjukkan bahwa bidang timestamp diatur ke 0 atau nilai tidak valid.

    Actions

    • Klik Download Key untuk mengunduh kunci pesan.

    • Klik Download Value untuk mengunduh isi pesan.

Operasi Terkait

Lihat detail tugas pengambilan pesan

Setelah mengaktifkan fitur pengambilan pesan untuk topik, tugas pengambilan pesan secara otomatis dibuat. Anda dapat melihat detail tugas tersebut, seperti topik dan grup yang dibuat secara otomatis pada instance ApsaraMQ for Kafka, serta nama instance dan tabel yang dibuat secara otomatis di Tablestore. Anda juga dapat menavigasi ke halaman detail tabel Tablestore dari halaman Detail Tugas.

Pada halaman Message Retrieval, temukan topik yang ingin Anda kelola dan klik Details di kolom Actions.

image

Lihat detail konsumsi

Setelah mengaktifkan fitur pengambilan pesan untuk topik, Anda dapat melihat kemajuan konsumsi dari grup aktif di setiap partisi topik. Ini membantu Anda mendapatkan informasi tentang konsumsi dan akumulasi pesan.

Pada halaman Message Retrieval, temukan topik yang ingin Anda kelola dan klik Consumption Progress di kolom Actions.

Pada halaman Detail Konsumen, Anda dapat melihat status konsumsi grup yang berlangganan topik di setiap partisi topik.

image

Tangguhkan tugas pengambilan pesan

  1. Pada halaman Message Retrieval, temukan topik yang ingin Anda kelola dan pilih More > Suspend di kolom Actions.

  2. Di pesan yang muncul, klik OK.

Lanjutkan tugas pengambilan pesan

Anda dapat melanjutkan tugas pengambilan pesan yang ditangguhkan berdasarkan kebutuhan bisnis Anda.

  1. Pada halaman Message Retrieval, temukan topik yang ingin Anda kelola dan pilih More > Enable di kolom Actions.

  2. Di pesan yang muncul, klik OK.

Hapus tugas pengambilan pesan

Setelah menghapus tugas pengambilan pesan untuk topik, tabel Tablestore terkait dan indeks pencarian juga dihapus. Topik tersebut tidak lagi menyediakan fitur pengambilan pesan. Jika Anda ingin menggunakan fitur pengambilan pesan untuk topik tersebut lagi, buat ulang tugas pengambilan pesan dan tunggu hingga sinkronisasi data selesai.

  1. Pada halaman Message Retrieval, temukan topik yang ingin Anda kelola dan lakukan salah satu operasi berikut berdasarkan status tugas pengambilan pesan:

    • Jika tugas tidak dalam status Running atau Suspended, klik Delete di kolom Actions.

    • Jika tugas dalam status Running atau Suspended, pilih More > Delete di kolom Actions.

  2. Di pesan yang muncul, klik OK.

    Pada halaman Message Retrieval, Anda tidak dapat lagi melihat topik untuk mana tugas pengambilan pesan telah dihapus.