Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menggunakan pemfilteran acara dengan sumber acara MSK Amazon

Mode fokus
Menggunakan pemfilteran acara dengan sumber acara MSK Amazon - AWS Lambda

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

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

Anda dapat menggunakan pemfilteran peristiwa untuk mengontrol rekaman mana dari aliran atau antrian yang dikirim Lambda ke fungsi Anda. Untuk informasi umum tentang cara kerja penyaringan acara, lihatKontrol peristiwa mana yang dikirim Lambda ke fungsi Anda.

Bagian ini berfokus pada penyaringan acara untuk sumber acara MSK Amazon.

Dasar-dasar pemfilteran acara MSK Amazon

Misalkan produser menulis pesan ke topik di kluster MSK Amazon Anda, baik dalam format JSON yang valid atau sebagai string biasa. Contoh catatan akan terlihat seperti berikut ini, dengan pesan dikonversi ke string yang dikodekan Base64 di bidang. value

{ "mytopic-0":[ { "topic":"mytopic", "partition":0, "offset":15, "timestamp":1545084650987, "timestampType":"CREATE_TIME", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers":[] } ] }

Misalkan produser Apache Kafka Anda menulis pesan ke topik Anda dalam format JSON berikut.

{ "device_ID": "AB1234", "session":{ "start_time": "yyyy-mm-ddThh:mm:ss", "duration": 162 } }

Anda dapat menggunakan value kunci untuk memfilter catatan. Misalkan Anda ingin memfilter hanya catatan-catatan di mana device_ID dimulai dengan huruf AB. FilterCriteriaObjeknya adalah sebagai berikut.

{ "Filters": [ { "Pattern": "{ \"value\" : { \"device_ID\" : [ { \"prefix\": \"AB\" } ] } }" } ] }

Untuk kejelasan tambahan, berikut adalah nilai filter yang Pattern diperluas di JSON biasa.

{ "value": { "device_ID": [ { "prefix": "AB" } ] } }

Anda dapat menambahkan filter menggunakan konsol, AWS CLI atau AWS SAM templat.

Console

Untuk menambahkan filter ini menggunakan konsol, ikuti instruksi Melampirkan kriteria filter ke pemetaan sumber peristiwa (konsol) dan masukkan string berikut untuk kriteria Filter.

{ "value" : { "device_ID" : [ { "prefix": "AB" } ] } }
AWS CLI

Untuk membuat pemetaan sumber peristiwa baru dengan kriteria filter ini menggunakan AWS Command Line Interface (AWS CLI), jalankan perintah berikut.

aws lambda create-event-source-mapping \ --function-name my-function \ --event-source-arn arn:aws:kafka:us-east-2:123456789012:cluster/my-cluster/b-8ac7cc01-5898-482d-be2f-a6b596050ea8 \ --filter-criteria '{"Filters": [{"Pattern": "{ \"value\" : { \"device_ID\" : [ { \"prefix\": \"AB\" } ] } }"}]}'

Untuk menambahkan kriteria filter ini ke pemetaan sumber peristiwa yang ada, jalankan perintah berikut.

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --filter-criteria '{"Filters": [{"Pattern": "{ \"value\" : { \"device_ID\" : [ { \"prefix\": \"AB\" } ] } }"}]}'
AWS SAM

Untuk menambahkan filter ini menggunakan AWS SAM, tambahkan cuplikan berikut ke template YAMAL untuk sumber acara Anda.

FilterCriteria: Filters: - Pattern: '{ "value" : { "device_ID" : [ { "prefix": "AB" } ] } }'

Untuk menambahkan filter ini menggunakan konsol, ikuti instruksi Melampirkan kriteria filter ke pemetaan sumber peristiwa (konsol) dan masukkan string berikut untuk kriteria Filter.

{ "value" : { "device_ID" : [ { "prefix": "AB" } ] } }

Dengan Amazon MSK, Anda juga dapat memfilter catatan di mana pesan adalah string biasa. Misalkan Anda ingin mengabaikan pesan-pesan di mana string adalah “kesalahan”. FilterCriteriaObjek akan terlihat sebagai berikut.

{ "Filters": [ { "Pattern": "{ \"value\" : [ { \"anything-but\": [ \"error\" ] } ] }" } ] }

Untuk kejelasan tambahan, berikut adalah nilai filter yang Pattern diperluas di JSON biasa.

{ "value": [ { "anything-but": [ "error" ] } ] }

Anda dapat menambahkan filter menggunakan konsol, AWS CLI atau AWS SAM templat.

Console

Untuk menambahkan filter ini menggunakan konsol, ikuti instruksi Melampirkan kriteria filter ke pemetaan sumber peristiwa (konsol) dan masukkan string berikut untuk kriteria Filter.

{ "value" : [ { "anything-but": [ "error" ] } ] }
AWS CLI

Untuk membuat pemetaan sumber peristiwa baru dengan kriteria filter ini menggunakan AWS Command Line Interface (AWS CLI), jalankan perintah berikut.

aws lambda create-event-source-mapping \ --function-name my-function \ --event-source-arn arn:aws:kafka:us-east-2:123456789012:cluster/my-cluster/b-8ac7cc01-5898-482d-be2f-a6b596050ea8 \ --filter-criteria '{"Filters": [{"Pattern": "{ \"value\" : [ { \"anything-but\": [ \"error\" ] } ] }"}]}'

Untuk menambahkan kriteria filter ini ke pemetaan sumber peristiwa yang ada, jalankan perintah berikut.

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --filter-criteria '{"Filters": [{"Pattern": "{ \"value\" : [ { \"anything-but\": [ \"error\" ] } ] }"}]}'
AWS SAM

Untuk menambahkan filter ini menggunakan AWS SAM, tambahkan cuplikan berikut ke template YAMAL untuk sumber acara Anda.

FilterCriteria: Filters: - Pattern: '{ "value" : [ { "anything-but": [ "error" ] } ] }'

Untuk menambahkan filter ini menggunakan konsol, ikuti instruksi Melampirkan kriteria filter ke pemetaan sumber peristiwa (konsol) dan masukkan string berikut untuk kriteria Filter.

{ "value" : [ { "anything-but": [ "error" ] } ] }

Pesan MSK Amazon harus berupa string yang dikodekan UTF-8, baik string biasa atau dalam format JSON. Itu karena Lambda menerjemahkan array byte MSK Amazon ke UTF-8 sebelum menerapkan kriteria filter. Jika pesan Anda menggunakan pengkodean lain, seperti UTF-16 atau ASCII, atau jika format pesan tidak cocok dengan formatFilterCriteria, Lambda hanya memproses filter metadata. Tabel berikut merangkum perilaku spesifik:

Format pesan masuk Format pola filter untuk properti pesan Tindakan yang dihasilkan

Tali polos

Tali polos

Filter Lambda berdasarkan kriteria filter Anda.

Tali polos

Tidak ada pola filter untuk properti data

Filter Lambda (hanya pada properti metadata lainnya) berdasarkan kriteria filter Anda.

Tali polos

JSON yang valid

Filter Lambda (hanya pada properti metadata lainnya) berdasarkan kriteria filter Anda.

JSON yang valid

Tali polos

Filter Lambda (hanya pada properti metadata lainnya) berdasarkan kriteria filter Anda.

JSON yang valid

Tidak ada pola filter untuk properti data

Filter Lambda (hanya pada properti metadata lainnya) berdasarkan kriteria filter Anda.

JSON yang valid

JSON yang valid

Filter Lambda berdasarkan kriteria filter Anda.

String yang tidak dikodekan UTF-8

JSON, string polos, atau tidak ada pola

Filter Lambda (hanya pada properti metadata lainnya) berdasarkan kriteria filter Anda.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.