Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat pola acara di EventBridge
Untuk membuat pola peristiwa, Anda menentukan bidang peristiwa yang ingin Anda cocokkan dengan pola peristiwa. Hanya tetapkan bidang yang Anda gunakan untuk pencocokan.
Misalnya, contoh pola peristiwa berikut hanya memberikan nilai untuk tiga bidang: bidang tingkat atas "source"
dan"detail-type"
, dan "state"
bidang di dalam bidang "detail"
objek. EventBridgemengabaikan semua bidang lain dalam acara ketika menerapkan aturan.
{
"source": ["aws.ec2"],
"detail-type": ["EC2 Instance State-change Notification"],
"detail": {
"state": ["terminated"]
}
}
Untuk pola peristiwa untuk mencocokkan peristiwa, peristiwa harus berisi semua nama bidang yang tercantum dalam pola peristiwa. Nama bidang juga harus muncul dalam peristiwa dengan struktur persarangan yang sama.
Saat Anda menulis pola acara untuk mencocokkan peristiwa, Anda dapat menggunakan TestEventPattern
API atau test-event-pattern
CLI perintah untuk menguji apakah pola Anda cocok dengan peristiwa yang benar. Untuk informasi lebih lanjut, lihat TestEventPattern.
Mencocokkan nilai acara
Dalam pola peristiwa, nilai yang cocok adalah dalam JSON array, dikelilingi oleh tanda kurung siku (“[”, “]”) sehingga Anda dapat memberikan beberapa nilai. Misalnya, untuk mencocokkan peristiwa dari Amazon EC2 atau AWS Fargate, Anda dapat menggunakan pola berikut, yang cocok dengan peristiwa di mana nilai untuk "source"
bidang tersebut adalah salah satu "aws.ec2"
atau"aws.fargate"
.
{
"source": ["aws.ec2", "aws.fargate"]
}
Untuk informasi selengkapnya, lihat Pencocokan pada beberapa nilai bidang.
Menggunakan operator perbandingan dalam pola EventBridge acara Amazon
Amazon EventBridge mendukung penyaringan konten deklaratif menggunakan pola peristiwa. Dengan penyaringan konten, Anda dapat menulis pola peristiwa kompleks yang hanya cocok dengan peristiwa menurut kondisi yang sangat spesifik. Misalnya, Anda dapat membuat pola acara yang cocok dengan acara saat:
-
Bidang acara berada dalam rentang numerik tertentu.
-
Acara ini berasal dari alamat IP tertentu.
-
Bidang tertentu tidak ada dalam acara tersebutJSON.
Untuk informasi selengkapnya, lihat Operator perbandingan.
Pertimbangan saat membuat pola acara
Berikut adalah beberapa hal yang perlu dipertimbangkan ketika membangun pola acara Anda:
EventBridge mengabaikan bidang jika tidak disertakan dalam pola acara. Efeknya adalah ada
"*": "*"
wildcard untuk bidang yang tidak muncul dalam pola acara.Nilai-nilai yang cocok dengan pola acara mengikuti JSON aturan. Anda dapat menyertakan string yang diapit oleh tanda kutip ("), angka, dan kata kunci
true
,false
, dannull
.Untuk string, EventBridge gunakan character-by-character pencocokan yang tepat tanpa case folding atau normalisasi string lainnya.
Untuk angka, EventBridge gunakan representasi string. Sebagai contoh, 300, 300,0, dan 3,0e2 dianggap tidak sama.
Jika beberapa pola ditentukan untuk JSON bidang yang sama, EventBridge hanya menggunakan yang terakhir.
-
Ketahuilah bahwa ketika EventBridge mengkompilasi pola acara untuk digunakan, ia menggunakan dot (.) sebagai karakter yang bergabung.
Ini berarti EventBridge akan memperlakukan pola peristiwa berikut sebagai identik:
## has no dots in keys { "detail" : { "state": { "status": [ "running" ] } } } ## has dots in keys { "detail" : { "state.status": [ "running" ] } }
Dan bahwa kedua pola acara akan cocok dengan dua peristiwa berikut:
## has no dots in keys { "detail" : { "state": { "status": "running" } } } ## has dots in keys { "detail" : { "state.status": "running" } }
catatan
Ini menggambarkan EventBridge perilaku saat ini, dan tidak boleh diandalkan untuk tidak berubah.
-
Pola acara yang berisi kolom duplikat tidak valid. Jika pola berisi kolom duplikat, EventBridge hanya mempertimbangkan nilai bidang akhir.
Misalnya, pola acara berikut akan cocok dengan acara yang sama:
## has duplicate keys { "source": ["aws.s3"], "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["s3.amazonaws.com"], "eventSource": ["sns.amazonaws.com"] } } ## has unique keys { "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["sns.amazonaws.com"] } }
Dan EventBridge memperlakukan dua peristiwa berikut sebagai identik:
## has duplicate keys { "source": ["aws.s3"], "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": [ { "eventSource": ["s3.amazonaws.com"], "eventSource": ["sns.amazonaws.com"] } ] } ## has unique keys { "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": [ { "eventSource": ["sns.amazonaws.com"] } ] }
catatan
Ini menggambarkan EventBridge perilaku saat ini, dan tidak boleh diandalkan untuk tidak berubah.