Buat sumber event kustom menggunakan HTTP/HTTPS Events di Konsol EventBridge untuk menerima permintaan HTTP dan mengarahkannya sebagai event.
Latar Belakang
Setelah Anda membuat sumber event kustom dengan HTTP/HTTPS Events, EventBridge menghasilkan URL webhook yang berfungsi sebagai titik akhir untuk menerima permintaan HTTP. Ketika suatu event terjadi pada server yang dikonfigurasi dengan webhook tersebut, server mengirimkan pesan ke EventBridge melalui URL itu. EventBridge kemudian menentukan apakah akan mengonversi pesan tersebut menjadi event dan mendorongnya ke target event.
Prasyarat
Prosedur
- Masuk ke EventBridge console.
- Di panel navigasi sebelah kiri, klik Event Buses.
- Di bilah navigasi atas, pilih wilayah.
Pada halaman Event Buses, klik nama event bus yang ingin Anda kelola.
Di panel navigasi sebelah kiri, klik Event Sources.
- Pada halaman Event Source, klik Add Event Source.
- Pada panel Add Custom Event Source, masukkan Name dan Description, pilih HTTP/HTTPS Events untuk Event Provider, konfigurasikan parameter berikut, lalu klik OK.
Parameter Deskripsi Request Type Pilih HTTPS, HTTP, atau HTTP and HTTPS. Request Method Pilih satu atau beberapa metode permintaan HTTP yang didukung. Nilai yang valid: - GET
- POST
- PUT
- DELETE
- HEAD
- PATCH
Security Settings Pilih pengaturan keamanan. Nilai yang valid: - None: Tidak diperlukan konfigurasi keamanan. Semua permintaan yang diterima dikonversi menjadi event dan didorong ke EventBridge.
- CIDR Block: Masukkan alamat IP atau Blok CIDR yang valid. Hanya permintaan dari alamat IP atau Blok CIDR yang ditentukan yang dikonversi menjadi event dan didorong ke EventBridge. EventBridge menyaring semua permintaan lainnya.
- Security Domain Name: Masukkan nama domain aman. Hanya permintaan dari nama domain yang ditentukan yang dikonversi menjadi event dan didorong ke EventBridge. EventBridge menyaring semua permintaan lainnya.
CIDR Block Parameter ini hanya diperlukan jika Anda mengatur Security Settings ke CIDR Block. Untuk informasi lebih lanjut, lihat deskripsi Security Settings. Catatan Anda dapat menambahkan hingga lima alamat IP atau Blok CIDR.Security Domain Name Parameter ini hanya diperlukan jika Anda mengatur Security Settings ke Security Domain Name. Untuk informasi lebih lanjut, lihat deskripsi Security Settings. Catatan Anda dapat menambahkan hingga lima nama domain keamanan.
Contoh event
EventBridge mengonversi permintaan HTTP yang sesuai menjadi event dengan memetakan header dan badan permintaan ke bidang headers dan body dalam bidang data event.
{
"datacontenttype": "application/json",
"aliyunaccountid": "175299981560****",
"data": {
"headers": {
"Host": "175299981560****.eventbridge.cn-hangzhou.aliyuncs.com",
"Accept-Encoding": "gzip, deflate, br",
"accept": "*/*",
"Content-Length": "538",
"Content-Type": "application/json"
},
"path": "/webhook/putEvents",
"body": {
"infoId": 1,
"ruleName": "Test",
"state": "alerting",
"message": "EventBridge test info.",
"ruleId": "796014154722826****"
},
"httpMethod": "GET",
"queryString": {}
},
"subject": "acs:eventbridge:cn-hangzhou:175299981560****:eventbus/EventBridgeDemoBus/eventsource/my.httpSource",
"aliyunoriginalaccountid": "175299981560****",
"source": "my.httpSource",
"type": "eventbridge:Events:HTTPEvent",
"aliyunpublishtime": "2022-03-03T03:33:14.097Z",
"specversion": "1.0",
"aliyuneventbusname": "EventBridgeDemoBus",
"id": "ac0d574c-d862-4662-a87b-784e3d77****",
"time": "2022-03-03T11:33:14.093+08:00",
"aliyunregionid": "cn-hangzhou",
"aliyunpublishaddr": "42.120.XX.XX"
}
Untuk informasi selengkapnya tentang parameter yang ditentukan dalam spesifikasi CloudEvents, lihat Event overview.
Bidang data berisi parameter berikut.
| Parameter | Jenis | Contoh | Deskripsi |
headers |
Map | |
Header permintaan HTTP. |
path |
String | /webhook/putEvents | Path permintaan HTTP. |
body |
String/Map | |
Badan permintaan HTTP. Jika bidang Content-Type permintaan HTTP diatur ke application/json, EventBridge mengurai badan permintaan sebagai objek JSON. Jika tidak, badan permintaan diurai sebagai string. |
httpMethod |
String | GET | Metode permintaan HTTP. |
queryString |
Map | None | Parameter kueri permintaan, tidak termasuk parameter token. |