全部产品
Search
文档中心

EventBridge:Mengarahkan event ke ApsaraMQ for RocketMQ

更新时间:Jul 02, 2025

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

  1. Masuk ke Konsol EventBridge. Di panel navigasi sebelah kiri, klik Event Buses.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Event Buses, klik nama bus event kustom yang ingin Anda kelola.

  3. Di panel navigasi sebelah kiri, klik Event Sources, lalu klik Add Event Source.

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

Penting

Target event yang ingin Anda konfigurasikan untuk sebuah aturan event harus berada di wilayah yang sama dengan aturan tersebut.

  1. Masuk ke Konsol EventBridge.

  2. Di panel navigasi sebelah kiri, klik Event Buses.

  3. Di bilah navigasi atas, pilih wilayah.

  4. Pada halaman Event Buses, klik nama bus event yang ingin Anda kelola.

  5. Di panel navigasi sebelah kiri, klik Event Rules.

  6. Pada halaman Event Rules, klik Create Rule.

  7. Lakukan operasi berikut di panel Create Rule:

    1. Di langkah Configure Basic Info, masukkan nama aturan di bidang Name dan deskripsi aturan di bidang Description, lalu klik Next Step.

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

    3. Di langkah Configure Targets, konfigurasikan target event. Lalu, klik Create.

      Catatan

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

      Custom 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.KEYS

      Message Tag

      EventBridge mengekstrak data dari sebuah event menggunakan JSONPath dan mengarahkan konten tertentu dari event tersebut ke target event.

      Sebagian Event

      $.data.systemProperties.TAGS

      EventBridge 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.body
      • Contoh Fixed Value

        Perhatikan peringatan.
      • Contoh Parameters dan Template

        Contoh Parameters:

        {
          "type":"$.type"
        }

        Contoh Template

        Jenis event adalah ${type}.

Langkah 3: Publikasikan event

  1. Masuk ke Konsol EventBridge. Di panel navigasi sebelah kiri, klik Event Buses.

  2. Di bilah navigasi atas, pilih wilayah.
  3. 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.
  4. 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.

  1. Masuk ke Konsol ApsaraMQ for RocketMQ.

  2. Di panel navigasi sebelah kiri, klik Instances.

  3. Di bilah navigasi atas, pilih wilayah, seperti China (Hangzhou).

  4. Pada halaman Instances, temukan instance yang Anda butuhkan, dan pilih More > Message Query di kolom Actions.

  5. 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"
    }
}