Mencocokkan peristiwa pada nilai nol dan string kosong di Amazon EventBridge - Amazon EventBridge

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mencocokkan peristiwa pada nilai nol dan string kosong di Amazon EventBridge

penting

Di EventBridge, dimungkinkan untuk membuat aturan yang dapat menyebabkan higher-than-expected pengisian daya dan pelambatan. Misalnya, Anda dapat secara tidak sengaja membuat aturan yang mengarah ke loop tak terbatas, di mana aturan dijalankan secara rekursif tanpa akhir. Misalkan Anda membuat aturan untuk mendeteksi yang ACLs telah berubah pada bucket Amazon S3, dan memicu perangkat lunak untuk mengubahnya ke status yang diinginkan. Jika aturan tidak ditulis dengan hati-hati, perubahan berikutnya untuk ACLs mengaktifkan aturan lagi, menciptakan loop tak terbatas.

Untuk panduan tentang cara menulis aturan dan pola peristiwa yang tepat untuk meminimalkan hasil yang tidak terduga tersebut, lihat Praktik terbaik untuk aturan danPraktik terbaik.

Anda dapat membuat pola peristiwa yang cocok dengan bidang di peristiwa yang memiliki nilai null atau string kosong. Pertimbangkan peristiwa contoh berikut ini.

Lihat praktik terbaik untuk menghindari biaya dan pelambatan yang lebih tinggi dari yang diharapkan

{ "version": "0", "id": "3e3c153a-8339-4e30-8c35-687ebef853fe", "detail-type": "EC2 Instance Launch Successful", "source": "aws.autoscaling", "account": "123456789012", "time": "2015-11-11T21:31:47Z", "region": "us-east-1", "resources": [ ], "detail": { "eventVersion": "", "responseElements": null } }

Untuk mencocokkan peristiwa di mana nilai eventVersion adalah string kosong, gunakan pola peristiwa berikut ini, yang cocok dengan peristiwa sebelumnya.

{ "detail": { "eventVersion": [""] } }

Untuk mencocokkan peristiwa di mana nilai responseElements adalah null, gunakan pola peristiwa berikut ini, yang cocok dengan peristiwa sebelumnya.

{ "detail": { "responseElements": [null] } }
catatan

Nilai null dan string kosong tidak dapat dipertukarkan dalam pencocokan pola. Pola peristiwa yang cocok dengan string kosong tidak cocok dengan nilai null.

Menggunakan nilai null dalam template AWS CloudFormation

AWS CloudFormation tidak mengizinkan null nilai dalam template. Jika Anda mendefinisikan pola peristiwa dengan nilai null menggunakan sintaks objek YAMAL atau JSON, validasi template gagal dengan kesalahan:. 'null' values are not allowed in templates

Untuk mengatasi batasan ini, tentukan EventPattern properti sebagai string JSON, bukan objek YAMAL atau JSON. Contoh berikut menunjukkan bagaimana untuk mencocokkan pada nilai-nilai null dalam AWS CloudFormation template:

MyRule: Type: AWS::Events::Rule Properties: EventPattern: '{"detail":{"responseElements":[null]}}'