Anda dapat menggunakan aturan event untuk memfilter dan mengarahkan event ke ApsaraMQ for RocketMQ. Topik ini menjelaskan prasyarat dan prosedur untuk mengarahkan event kustom ke ApsaraMQ for RocketMQ, serta cara memverifikasi hasilnya.
Prasyarat
Langkah 1: Menambahkan sumber event kustom
Masuk ke Konsol EventBridge. Di panel navigasi sebelah kiri, klik Event Buses.
Di bilah navigasi atas, pilih wilayah. Pada halaman Event Buses, klik nama bus event kustom yang ingin Anda kelola.
Di panel navigasi sebelah kiri, klik Event Sources, lalu klik Add Event Source.
Di panel Add Custom Event Source, konfigurasikan parameter Name dan Description, pilih Aplikasi Kustom dari daftar drop-down Event Provider, lalu klik OK.
Langkah 2: Membuat aturan event
Target event yang ingin Anda konfigurasikan untuk sebuah aturan event harus berada di wilayah yang sama dengan aturan tersebut.
Masuk ke Konsol EventBridge.
Di panel navigasi sebelah kiri, klik Event Buses.
Di bilah navigasi atas, pilih wilayah.
Pada halaman Event Buses, klik nama bus event yang ingin Anda kelola.
Di panel navigasi sebelah kiri, klik Event Rules.
Pada halaman Event Rules, klik Create Rule.
Lakukan operasi berikut di panel Create Rule:
Di langkah Configure Basic Info, masukkan nama aturan di bidang Name dan deskripsi aturan di bidang Description, lalu klik Next Step.
Di langkah Configure Event Pattern, atur parameter Event Source Type menjadi Custom Event Source, pilih sumber event kustom yang dibuat di Langkah 1 dari daftar drop-down Event Source, tentukan pola event di editor kode Pattern Content, lalu klik Next Step.
Untuk informasi lebih lanjut, lihat Pola Event.
Di langkah Configure Targets, konfigurasikan target event. Lalu, klik Create.
CatatanAnda dapat mengonfigurasi hingga lima target event untuk sebuah aturan event.
Tabel berikut menjelaskan parameter yang dapat Anda atur jika Anda memilih ApsaraMQ for RocketMQ sebagai target event.
Parameter
Deskripsi
Service Type
Klik ApsaraMQ for RocketMQ.
Instance ID
Pilih ID dari ApsaraMQ for RocketMQ instance yang telah dibuat.
Topic
Pilih topik yang telah dibuat.
Message Body
EventBridge mengekstrak data dari sebuah event menggunakan JSONPath dan mengarahkan konten tertentu dari event tersebut ke target event. Contoh:
Sebagian Event
$.data.bodyCustom Property
EventBridge mengekstrak data dari sebuah event menggunakan JSONPath dan mengarahkan properti tertentu dari event tersebut ke target event. Contoh:
Template
Parameters:
{ "userProperties":"$.data.userProperties", "msgId":"$.data.systemProperties.UNIQ_KEY" }Template:
{ "EB_SYS_EMBED_OBJECT":"${userProperties}", "UNIQ_KEY":"${msgId}" }Message Index
EventBridge mengekstrak data dari sebuah event menggunakan JSONPath dan mengarahkan konten tertentu dari event tersebut ke target event.
Sebagian Event
$.data.systemProperties.KEYSMessage Tag
EventBridge mengekstrak data dari sebuah event menggunakan JSONPath dan mengarahkan konten tertentu dari event tersebut ke target event.
Sebagian Event
$.data.systemProperties.TAGSEventBridge menyediakan berbagai metode transformasi event. Untuk informasi lebih lanjut, lihat Transformasi Event. Bagian berikut memberikan contoh dari setiap metode transformasi event:
Contoh Partial Event
$.data.bodyContoh Fixed Value
Perhatikan peringatan.Contoh Parameters dan Template
Contoh Parameters:
{ "type":"$.type" }Contoh Template
Jenis event adalah ${type}.
Langkah 3: Publikasikan event
Masuk ke Konsol EventBridge. Di panel navigasi sebelah kiri, klik Event Buses.
- Di bilah navigasi atas, pilih wilayah.
- Pada halaman Event Buses, temukan bus event tempat Anda ingin mempublikasikan event dan klik Publish Event di kolom Operations.Catatan Anda hanya dapat mempublikasikan event ke bus event kustom di Konsol EventBridge.
- Di panel Publish Event to Custom Event Bus, pilih sumber event kustom dari daftar drop-down Custom Event Source, masukkan konten event di editor kode Event Body, lalu klik OK.Untuk informasi lebih lanjut tentang parameter event, lihat Ikhtisar.
Verifikasi hasil
Anda dapat memeriksa apakah event diterima di konsol ApsaraMQ for RocketMQ.
Masuk ke Konsol ApsaraMQ for RocketMQ.
Di panel navigasi sebelah kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, seperti China (Hangzhou).
Pada halaman Instances, temukan instance yang Anda butuhkan, dan pilih di kolom Actions.
Pada halaman Message Query, pilih Query by Topic dari daftar drop-down Query Method dan topik yang pesannya ingin Anda kueri dari daftar drop-down Topik, atur parameter Time Range, lalu klik Search.
Berikut ini adalah contoh kode yang menunjukkan isi dari event yang diterima:
{
"id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
"source":"acs:mq",
"specversion":"1.0",
"type":"mq:Topic:SendMessage",
"datacontenttype":"application/json; charset=utf-8",
"subject":"acs:mq:cn-hangzhou:123456789098****:MQ_INST_123456789098****_BXhFHryi%TopicName",
"time":"2021-04-08T06:01:20.766Z",
"aliyunpublishtime":"2021-04-08T06:01:20.725Z",
"aliyuneventbusname":"BusName",
"data":{
"topic":"TopicName",
"systemProperties":{
"MIN_OFFSET":"0",
"TRACE_ON":"true",
"MAX_OFFSET":"8",
"MSG_REGION":"cn-hangzhou",
"KEYS":"systemProperties.KEYS",
"CONSUME_START_TIME":1628577790396,
"UNIQ_KEY":"AC14C305069E1B28CDFA3181CDA2****",
"TAGS":"systemProperties.TAGS",
"INSTANCE_ID":"MQ_INST_123456789098****_BXhFHryi"
},
"userProperties":{
},
"body":"TEST"
}
}