Event adalah catatan data yang merekam perubahan status. Ketika sebuah resource dibuat, konfigurasi diperbarui, atau pengguna melakukan suatu aksi, layanan yang bertanggung jawab akan menangkap perubahan tersebut dan mempublikasikannya ke EventBridge.
Semua event mengikuti spesifikasi CloudEvents 1.0, sebuah standar terbuka yang dipelihara oleh Cloud Native Computing Foundation (CNCF). Standar ini menyediakan format event yang konsisten dan portabel di berbagai sumber event.
Struktur event
Setiap event terdiri dari dua bagian:
Atribut konteks: Metadata yang mengidentifikasi dan mendeskripsikan event (
source,type,id, dan lainnya sesuai spesifikasi CloudEvents).Muatan data: Konten event, yang bervariasi tergantung pada sumber event.
Dua bidang paling penting adalah source dan type, yang secara bersama mengidentifikasi asal event dan kejadian yang terjadi:
{
"source": "acs:aliyuncvc",
"type": "aliyuncvc:MeetingEvent:MemberOperate",
...
}Pada cuplikan ini, source mengidentifikasi layanan asal, sedangkan type mengidentifikasi event spesifik (operasi anggota dalam rapat).
Contoh berikut menunjukkan event lengkap yang dipublikasikan ke EventBridge:
{
"specversion": "1.0",
"id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
"source": "acs:aliyuncvc",
"type": "aliyuncvc:MeetingEvent:MemberOperate",
"subject": "acs.aliyuncvc:cn-hangzhou:{AccountId}:215672",
"time": "2020-11-19T21:04:41+08:00",
"data": {
"meetingName": "swqd",
"groupId": "456",
"action": "camera_off",
"time": 1590592527490,
"userId": "199525",
"meetingUUID": "hz-20864c8f-b10d-45cd-9935-884bca1b****"
},
"aliyunaccountid": "123456789098****",
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC",
"aliyuneventbusname": "default",
"aliyunregionid": "cn-hangzhou",
"aliyunpublishaddr": "172.25.XX.XX"
}Atribut standar CloudEvents
Atribut-atribut ini didefinisikan oleh spesifikasi CloudEvents 1.0. EventBridge menggunakan atribut ini untuk routing event, kueri, dan deduplikasi.
Atribut wajib
id (String)
Identifier unik untuk event. Kombinasi source + id harus unik untuk setiap event yang berbeda. Jika event yang sama dikirim ulang karena error jaringan, event tersebut mungkin membawa id yang sama. Konsumen menganggap event dengan nilai source dan id yang identik sebagai duplikat. EventBridge menggunakan id untuk melacak event saat berpindah melalui proses routing ke target.
Contoh: 45ef4dewdwe1-7c35-447a-bd93-fab****
source (String)
Layanan yang menghasilkan event. Nilai ini mengidentifikasi konteks tempat event terjadi, termasuk tipe sumber event dan mekanisme publikasi. Produsen harus memastikan bahwa kombinasi source + id unik untuk setiap event.
Contoh: acs:aliyuncvc
specversion (String)
Versi spesifikasi CloudEvents yang diikuti oleh event tersebut.
Contoh: 1.0
type (String)
Tipe event, yang terkait dengan sumber event. EventBridge menggunakan nilai ini untuk routing event, kueri, dan penerapan kebijakan. Produsen menentukan formatnya, yang dapat mencakup informasi versi.
Contoh: aliyuncvc:MeetingEvent:MemberOperate
Atribut opsional
datacontenttype (String)
Tipe konten dari atribut data. EventBridge hanya mendukung application/json;charset=utf-8.
dataschema (URI)
URI yang menunjuk ke skema atribut data.
subject (String)
Subjek event dalam konteks sumber event. Berisi Nama Sumber Daya Alibaba Cloud (ARN) yang mengidentifikasi resource yang terlibat dalam event. Gunakan atribut ini untuk penyaringan subscription ketika source saja tidak cukup spesifik.
Contoh: acs.aliyuncvc:cn-hangzhou:{AccountId}:215672
time (Timestamp)
Timestamp saat event terjadi. Jika waktu pastinya tidak diketahui, produsen dapat mengatur nilai ini ke waktu saat ini. Namun, semua produsen dari sumber yang sama harus menggunakan nilai source yang konsisten.
Contoh: 2020-11-19T21:04:41+08:00
data (Struct)
Muatan event. Struktur ditentukan oleh sumber event dan berisi detail mengenai kejadian yang terjadi.
Atribut ekstensi Alibaba Cloud
EventBridge menambahkan atribut berikut ke setiap event setelah menerimanya. Atribut ini bukan bagian dari spesifikasi CloudEvents.
| Atribut | Tipe | Wajib | Deskripsi | Contoh |
|---|---|---|---|---|
aliyunaccountid | String | Tidak | ID akun Alibaba Cloud dari produsen event. | 123456789098**** |
aliyunpublishtime | Timestamp | Tidak | Timestamp saat EventBridge menerima event. | 2020-11-19T21:04:42.179PRC |
aliyuneventbusname | String | Ya | Nama event bus yang menerima event. | default |
aliyunregionid | String | Tidak | Wilayah tempat EventBridge menerima event. | cn-hangzhou |
aliyunpublishaddr | String | Tidak | Alamat IP server EventBridge yang menerima event. | 172.25.XX.XX |
Tipe event
EventBridge mendukung dua kategori event:
Event layanan Alibaba Cloud
Layanan Alibaba Cloud secara otomatis terintegrasi dengan EventBridge sebagai sumber event. Untuk daftar layanan yang didukung, lihat Sumber event layanan Alibaba Cloud.
Event aplikasi kustom
Untuk mempublikasikan event dari aplikasi Anda sendiri, hubungkan aplikasi Anda ke EventBridge melalui SDK.