Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrol peristiwa mana yang dikirim Lambda ke fungsi Anda
Anda dapat menggunakan pemfilteran peristiwa untuk mengontrol rekaman mana dari aliran atau antrian yang dikirim Lambda ke fungsi Anda. Misalnya, Anda dapat menambahkan filter sehingga fungsi Anda hanya memproses pesan Amazon SQS yang berisi parameter data tertentu. Pemfilteran peristiwa hanya berfungsi dengan pemetaan sumber peristiwa tertentu. Anda dapat menambahkan filter ke pemetaan sumber peristiwa untuk hal berikut: Layanan AWS
-
Amazon DynamoDB
-
Amazon Kinesis Data Streams
-
Amazon MQ
-
Amazon Managed Streaming for Apache Kafka (Amazon MSK)
-
Self-managed Apache Kafka
-
Amazon Simple Queue Service (Amazon SQS)
Untuk informasi spesifik tentang pemfilteran dengan sumber peristiwa tertentu, lihatMenggunakan filter dengan yang berbeda Layanan AWS. Lambda tidak mendukung pemfilteran peristiwa untuk Amazon DocumentDB.
Secara default, Anda dapat menentukan hingga lima filter berbeda untuk pemetaan sumber peristiwa tunggal. Filter Anda secara logis disatukan. Jika rekaman dari sumber acara Anda memenuhi satu atau lebih filter Anda, Lambda menyertakan catatan di acara berikutnya yang dikirimkannya ke fungsi Anda. Jika tidak ada filter Anda yang puas, Lambda membuang catatan tersebut.
catatan
Jika Anda perlu menentukan lebih dari lima filter untuk sumber peristiwa, Anda dapat meminta peningkatan kuota hingga 10 filter untuk setiap sumber peristiwa. Jika Anda mencoba menambahkan lebih banyak filter daripada yang diizinkan kuota Anda saat ini, Lambda mengembalikan kesalahan saat Anda mencoba membuat sumber peristiwa.
Topik
Memahami dasar-dasar pemfilteran peristiwa
Sebuah objek filter kriteria (FilterCriteria) adalah struktur yang terdiri dari daftar filter (Filters). Setiap filter adalah struktur yang mendefinisikan pola pemfilteran peristiwa (Pattern). Pola adalah representasi string dari aturan filter JSON. Struktur suatu FilterCriteria objek adalah sebagai berikut.
{ "Filters": [ { "Pattern": "{ \"Metadata1\": [ rule1 ], \"data\": { \"Data1\": [ rule2 ] }}" } ] }
Untuk kejelasan tambahan, berikut adalah nilai filter yang Pattern diperluas dalam JSON biasa.
{ "Metadata1": [ rule1 ], "data": { "Data1": [ rule2 ] } }
Pola filter Anda dapat menyertakan properti metadata, properti data, atau keduanya. Parameter metadata yang tersedia dan format parameter data bervariasi sesuai dengan Layanan AWS yang bertindak sebagai sumber peristiwa. Misalnya, pemetaan sumber peristiwa Anda menerima catatan berikut dari antrian Amazon SQS:
{ "messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "body": "{\\n \"City\": \"Seattle\",\\n \"State\": \"WA\",\\n \"Temperature\": \"46\"\\n}", "attributes": { "ApproximateReceiveCount": "1", "SentTimestamp": "1545082649183", "SenderId": "AIDAIENQZJOLO23YVJ4VO", "ApproximateFirstReceiveTimestamp": "1545082649185" }, "messageAttributes": {}, "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "eventSource": "aws:sqs", "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "awsRegion": "us-east-2" }
-
Properti metadata adalah bidang yang berisi informasi tentang peristiwa yang membuat catatan. Dalam contoh catatan Amazon SQS, properti metadata menyertakan bidang seperti
messageID,eventSourceArn, danawsRegion. -
Properti data adalah bidang rekaman yang berisi data dari aliran atau antrian Anda. Dalam contoh peristiwa Amazon SQS, kunci untuk bidang data adalah
body, dan properti data adalah bidangCityState, danTemperature.
Berbagai jenis sumber peristiwa menggunakan nilai kunci yang berbeda untuk bidang data mereka. Untuk memfilter properti data, pastikan Anda menggunakan kunci yang benar dalam pola filter Anda. Untuk daftar kunci pemfilteran data, dan untuk melihat contoh pola filter untuk masing-masing yang didukung Layanan AWS, lihatMenggunakan filter dengan yang berbeda Layanan AWS.
Pemfilteran peristiwa dapat menangani pemfilteran JSON multi-level. Misalnya, pertimbangkan fragmen catatan berikut dari aliran DynamoDB:
"dynamodb": { "Keys": { "ID": { "S": "ABCD" } "Number": { "N": "1234" }, ... }
Misalkan Anda ingin memproses hanya catatan di mana nilai kunci pengurutan Number adalah 4567. Dalam hal ini, FilterCriteria objek Anda akan terlihat seperti ini:
{ "Filters": [ { "Pattern": "{ \"dynamodb\": { \"Keys\": { \"Number\": { \"N\": [ "4567" ] } } } }" } ] }
Untuk kejelasan tambahan, berikut adalah nilai filter yang Pattern diperluas dalam JSON biasa.
{ "dynamodb": { "Keys": { "Number": { "N": [ "4567" ] } } } }
Menangani catatan yang tidak memenuhi kriteria filter
Cara Lambda menangani catatan yang tidak memenuhi kriteria filter tergantung pada sumber peristiwa.
Untuk Amazon SQS, jika pesan tidak memenuhi kriteria filter Anda, Lambda secara otomatis menghapus pesan dari antrian. Anda tidak perlu menghapus pesan-pesan ini secara manual di Amazon SQS.
-
Untuk Kinesis dan DynamoDB, setelah kriteria filter Anda mengevaluasi catatan, iterator aliran maju melewati rekaman ini. Jika rekaman tidak memenuhi kriteria filter Anda, Anda tidak perlu menghapus rekaman secara manual dari sumber acara Anda. Setelah periode retensi, Kinesis dan DynamoDB secara otomatis menghapus catatan lama ini. Jika Anda ingin catatan dihapus lebih cepat, lihat Meng ubah Periode Retensi Data.
-
Untuk pesan Amazon MSK, Apache Kafka yang dikelola sendiri, dan Amazon MQ, Lambda menghapus pesan yang tidak cocok dengan semua bidang yang disertakan dalam filter. Untuk Amazon MSK dan Apache Kafka yang dikelola sendiri, Lambda melakukan offset untuk pesan yang cocok dan tidak tertandingi setelah berhasil memanggil fungsi. Untuk Amazon MQ, Lambda mengakui pesan yang cocok setelah berhasil memanggil fungsi, dan mengakui pesan yang tidak cocok saat memfilternya.
Sintaks aturan filter
Untuk aturan filter, Lambda mendukung EventBridge aturan Amazon dan menggunakan sintaks yang sama seperti EventBridge. Untuk informasi selengkapnya, lihat pola EventBridge peristiwa Amazon di Panduan EventBridge Pengguna Amazon.
Berikut ini adalah ringkasan dari semua operator perbandingan yang tersedia untuk pemfilteran peristiwa Lambda.
| Operator perbandingan | Contoh | Sintaks aturan |
|---|---|---|
|
Kosong |
UserID adalah kosong |
“Id pengguna”: [nol] |
|
Kosong |
LastName kosong |
"LastName": [""] |
|
Sama dengan |
Namanya adalah “Alice” |
“Nama”: [“Alice”] |
|
Sama dengan (abaikan kasus) |
Namanya adalah “Alice” |
“Nama”: [{“equals-ignore-case”: “alice”}] |
|
Dan |
Lokasi adalah “New York” dan Hari adalah “Senin” |
“Lokasi”: [“New York”], “Hari”: ["Senin"] |
|
Atau |
PaymentType adalah “Kredit” atau “Debit” |
“PaymentType“: [“Kredit”, “Debit"] |
|
Atau (beberapa bidang) |
Lokasi adalah “New York”, atau Hari adalah “Senin”. |
“$or”: [{“Lokasi”: [“New York”]}, {“Hari”: [“Senin”]}] |
|
Bukan |
Cuaca sama sekali tidak “hujan” |
“Cuaca”: [{“anything-but”: [“Hujan”]}] |
|
Numerik (sama dengan) |
Harga 100 |
“Harga”: [{“numerik”: [“=”, 100]}] |
|
Numerik (rentang) |
Harga lebih dari 10, dan kurang dari atau sama dengan 20 |
“Harga”: [{“numerik”: [“>”, 10, “<=”, 20]}] |
|
Exists |
ProductName ada |
“ProductName“: [{“ada”: benar}] |
|
Tidak ada |
ProductName tidak ada |
“ProductName“: [{“ada”: false}] |
|
Dimulai dengan |
Wilayah berada di AS |
“Wilayah”: [{"prefix”: “us-”}] |
|
Ends with |
FileName diakhiri dengan ekstensi.png. |
“FileName“: [{“akhiran”: “.png”}] |
catatan
Seperti EventBridge, untuk string, Lambda menggunakan pencocokan karakter demi karakter yang tepat tanpa pelipatan huruf besar atau normalisasi string lainnya. Untuk angka, Lambda juga menggunakan representasi string. Sebagai contoh, 300, 300,0, dan 3,0e2 dianggap tidak sama.
Perhatikan bahwa operator Exists hanya berfungsi pada node daun di JSON sumber acara Anda. Itu tidak cocok dengan node perantara. Misalnya, dengan JSON berikut, pola filter tidak { "person": { "address": [ { "exists": true } ] } }" akan menemukan kecocokan karena "address" merupakan node perantara.
{ "person": { "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "Anytown", "country": "USA" } } }
Melampirkan kriteria filter ke pemetaan sumber peristiwa (konsol)
Ikuti langkah-langkah ini untuk membuat pemetaan sumber peristiwa baru dengan kriteria filter menggunakan konsol Lambda.
Untuk membuat pemetaan sumber peristiwa baru dengan kriteria filter (konsol)
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih nama fungsi untuk membuat pemetaan sumber peristiwa.
-
Di bagian Gambaran umum fungsi, pilih Tambah pemicu.
-
Untuk konfigurasi Pemicu, pilih jenis pemicu yang mendukung pemfilteran peristiwa. Untuk daftar layanan yang didukung, lihat daftar di awal halaman ini.
-
Perluas Pengaturan tambahan.
-
Di bawah Krit eria filter, pilih Tambah, lalu tentukan dan masukkan filter Anda. Misalnya, Anda dapat memasukkan yang berikut ini.
{ "Metadata" : [ 1, 2 ] }Ini menginstruksikan Lambda untuk memproses hanya catatan di mana bidang
Metadatasama dengan 1 atau 2. Anda dapat terus memilih Tam bah untuk menambahkan lebih banyak filter hingga jumlah maksimum yang diizinkan. -
Setelah selesai menambahkan filter, pilih S impan.
Saat Anda memasukkan kriteria filter menggunakan konsol, Anda hanya memasukkan pola filter dan tidak perlu memberikan tanda ku Pattern tip kunci atau escape. Pada langkah 6 dari instruksi sebelumnya, { "Metadata" : [ 1, 2 ] } sesuai dengan yang berikut iniFilterCriteria.
{ "Filters": [ { "Pattern": "{ \"Metadata\" : [ 1, 2 ] }" } ] }
Setelah membuat pemetaan sumber acara di konsol, Anda dapat melihat format FilterCriteria dalam detail pemicu. Untuk contoh lebih lanjut tentang membuat filter acara menggunakan konsol, lihatMenggunakan filter dengan yang berbeda Layanan AWS.
Melampirkan kriteria filter ke pemetaan sumber peristiwa (AWS CLI)
Misalkan Anda ingin pemetaan sumber peristiwa memiliki yang berikutFilterCriteria:
{ "Filters": [ { "Pattern": "{ \"Metadata\" : [ 1, 2 ] }" } ] }
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-namemy-function\ --event-source-arnarn:aws:sqs:us-east-2:123456789012:my-queue\ --filter-criteria '{"Filters": [{"Pattern": "{ \"Metadata\" : [ 1, 2 ]}"}]}'
Perintah create-event-source-mapping ini membuat pemetaan sumber peristiwa Amazon SQS baru untuk fungsi dengan yang ditentukan. my-function FilterCriteria
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": "{ \"Metadata\" : [ 1, 2 ]}"}]}'
Perhatikan bahwa untuk memperbarui pemetaan sumber peristiwa, Anda memerlukan UUID-nya. Anda bisa mendapatkan UUID dari panggilan list-event-source-mappings. Lambda juga mengembalikan UUID dalam respons CLI create- event-source-mapping.
Untuk menghapus kriteria filter dari sumber peristiwa, Anda dapat menjalankan perintah update-event-source-mapping berikut dengan objek kosong. FilterCriteria
aws lambda update-event-source-mapping \ --uuid"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"\ --filter-criteria "{}"
Untuk contoh lebih lanjut tentang membuat filter acara menggunakan AWS CLI, lihatMenggunakan filter dengan yang berbeda Layanan AWS.
Melampirkan kriteria filter ke pemetaan sumber peristiwa (AWS SAM)
Misalkan Anda ingin mengonfigurasi sumber peristiwa AWS SAM untuk menggunakan kriteria filter berikut:
{ "Filters": [ { "Pattern": "{ \"Metadata\" : [ 1, 2 ] }" } ] }
Untuk menambahkan kriteria filter ini ke pemetaan sumber acara Anda, masukkan cuplikan berikut ke dalam template YAML untuk sumber acara Anda.
FilterCriteria: Filters: - Pattern: '{"Metadata": [1, 2]}'
Untuk informasi selengkapnya tentang membuat dan mengonfigurasi AWS SAM template untuk pemetaan sumber peristiwa, lihat EventSource bagian Panduan Peng AWS SAM embang. Untuk lebih banyak contoh pembuatan filter acara menggunakan AWS SAM templat, lihatMenggunakan filter dengan yang berbeda Layanan AWS.
Enkripsi kriteria filter
Secara default, Lambda tidak mengenkripsi objek kriteria filter Anda. Untuk kasus penggunaan di mana Anda mungkin menyertakan informasi sensitif dalam objek kriteria filter, Anda dapat menggunakan kunci KMS Anda sendiri untuk mengenkripsinya.
Setelah mengenkripsi objek kriteria filter, Anda dapat melihat versi plaintexnya menggunakan panggilan GetEventSourceMapping API. Anda harus memiliki kms:Decrypt izin untuk dapat berhasil melihat kriteria filter dalam teks biasa.
catatan
Jika objek kriteria filter Anda dienkripsi, Lambda akan menyunting nilai FilterCriteria bidang dalam respons panggilan. ListEventSourceMappings Sebaliknya, bidang ini ditampilkan sebagainull. Untuk melihat nilai sebenarnya dariFilterCriteria, gunakan GetEventSourceMapping API.
Untuk melihat nilai dekripsi FilterCriteria di konsol, pastikan peran IAM Anda berisi izin untuk. GetEventSourceMapping
Anda dapat menentukan kunci KMS Anda sendiri melalui konsol, API/CLI, atau CloudFormation.
Untuk mengenkripsi kriteria filter dengan kunci KMS milik pelanggan (konsol)
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih Tambahkan pemicu. Jika Anda sudah memiliki pemicu yang ada, pilih tab Konfigurasi, lalu pilih Pem icu. Pilih pemicu yang ada, dan pilih Edit.
-
Pilih kotak centang di samping Enkripsi dengan kunci KMS yang dikelola pelanggan.
-
Untuk Pilih kunci enkripsi KMS yang dikelola pelanggan, pilih kunci aktif yang ada atau buat kunci baru. Tergantung pada operasi, Anda memerlukan beberapa atau semua izin berikut:
kms:DescribeKey,kms:GenerateDataKey, dankms:Decrypt. Gunakan kebijakan kunci KMS untuk memberikan izin ini.
Jika Anda menggunakan kunci KMS Anda sendiri, operasi API berikut harus diizinkan dalam kebijakan kunci:
-
kms:Decrypt— Harus diberikan kepada kepala layanan Lambda regional (lambda.). Hal ini memungkinkan Lambda untuk mendekripsi data dengan kunci KMS ini.AWS_region.amazonaws.com.rproxy.govskope.ca-
Untuk mencegah masalah wakil lintas layanan yang memb ingungkan, kebijakan utama menggunakan kunci kondisi
aws:SourceArnglobal. Nilaiaws:SourceArnkunci yang benar adalah ARN sumber pemetaan sumber peristiwa Anda, jadi Anda dapat menambahkannya ke kebijakan Anda hanya setelah mengetahui ARN-nya. Lambda juga meneruskanaws:lambda:EventSourceArnkunciaws:lambda:FunctionArndan dan nilainya masing-masing dalam konteks enkripsi saat membuat permintaan dekripsi ke KMS. Nilai-nilai ini harus sesuai dengan kondisi yang ditentukan dalam kebijakan kunci agar permintaan dekripsi berhasil. Anda tidak perlu EventSourceArn menyertakan sumber acara Self-managed Kafka karena mereka tidak memiliki EventSourceArn.
-
-
kms:Decrypt— Juga harus diberikan kepada kepala sekolah yang bermaksud menggunakan kunci untuk melihat kriteria filter plaintext dalam GetEventSourceMapping atau panggilan DeleteEventSourceMapping API. -
kms:DescribeKey— Menyediakan detail kunci yang dikelola pelanggan untuk memungkinkan prinsipal yang ditentukan menggunakan kunci. -
kms:GenerateDataKey- Memberikan izin bagi Lambda untuk menghasilkan kunci data untuk mengenkripsi kriteria filter, atas nama prinsipal yang ditentukan (enkripsi amplop).
Anda dapat menggunakannya AWS CloudTrail untuk melacak AWS KMS permintaan yang dibuat Lambda atas nama Anda. Untuk contoh CloudTrail acara, lihatMemantau kunci enkripsi Anda untuk Lambda.
Kami juga merekomendasikan menggunakan kunci kms:ViaService kondisi untuk membatasi penggunaan kunci KMS untuk permintaan dari Lambda saja. Nilai kunci ini adalah prinsip layanan Lambda regional (lambda.). Berikut ini adalah contoh kebijakan kunci yang memberikan semua izin yang relevan:AWS_region.amazonaws.com
contoh AWS KMS kebijakan kunci
Untuk menggunakan kunci KMS Anda sendiri untuk mengenkripsi kriteria filter, Anda juga dapat menggunakan CreateEventSourceMapping AWS CLI perintah berikut. Tentukan kunci KMS ARN dengan --kms-key-arn bendera.
aws lambda create-event-source-mapping --function-name my-function \ --maximum-batching-window-in-seconds 60 \ --event-source-arnarn:aws:sqs:us-east-1:123456789012:my-queue\ --filter-criteria "{\"filters\": [{\"pattern\": \"{\"a\": [\"1\", \"2\"]}\" }]}" \ --kms-key-arnarn:aws:kms:us-east-1:123456789012:key/055efbb4-xmpl-4336-ba9c-538c7d31f599
Jika Anda memiliki pemetaan sumber peristiwa yang ada, gunakan UpdateEventSourceMapping AWS CLI perintah sebagai gantinya. Tentukan kunci KMS ARN dengan --kms-key-arn bendera.
aws lambda update-event-source-mapping --function-name my-function \ --maximum-batching-window-in-seconds 60 \ --event-source-arnarn:aws:sqs:us-east-1:123456789012:my-queue\ --filter-criteria "{\"filters\": [{\"pattern\": \"{\"a\": [\"1\", \"2\"]}\" }]}" \ --kms-key-arnarn:aws:kms:us-east-1:123456789012:key/055efbb4-xmpl-4336-ba9c-538c7d31f599
Operasi ini mengganti kunci KMS apa pun yang telah ditentukan sebelumnya. Jika Anda menentukan --kms-key-arn flag bersama dengan argumen kosong, Lambda berhenti menggunakan kunci KMS Anda untuk mengenkripsi kriteria filter. Sebagai gantinya, Lambda secara default kembali menggunakan kunci. Amazon-owned
Untuk menentukan kunci KMS Anda sendiri dalam CloudFormation template, gunakan KMSKeyArn properti jenis AWS::Lambda::EventSourceMapping sumber daya. Misalnya, Anda dapat menyisipkan cuplikan berikut ke dalam template YAML untuk sumber acara Anda.
MyEventSourceMapping: Type: AWS::Lambda::EventSourceMapping Properties: ... FilterCriteria: Filters: - Pattern: '{"a": [1, 2]}' KMSKeyArn: "arn:aws:kms:us-east-1:123456789012:key/055efbb4-xmpl-4336-ba9c-538c7d31f599" ...
Untuk dapat melihat kriteria filter terenkripsi Anda dalam teks biasa dalam panggilan GetEventSourceMapping atau DeleteEventSourceMapping API, Anda harus memiliki kms:Decrypt izin.
Mulai 6 Agustus 2024, FilterCriteria bidang tidak lagi muncul di AWS CloudTrail log dari CreateEventSourceMapping, UpdateEventSourceMapping, dan panggilan DeleteEventSourceMapping API jika fungsi Anda tidak menggunakan pemfilteran peristiwa. Jika fungsi Anda menggunakan pemfilteran peristiwa, FilterCriteria bidang akan muncul sebagai empty ({}). Anda masih dapat melihat kriteria filter dalam teks biasa dalam respons panggilan GetEventSourceMapping API jika Anda memiliki kms:Decrypt izin untuk kunci KMS yang benar.
Dalam contoh entri log berikut AWS CloudTrail untuk CreateEventSourceMapping panggilan, muncul FilterCriteria sebagai empty ({}) karena fungsi menggunakan pemfilteran peristiwa. Ini terjadi bahkan jika FilterCriteria objek berisi kriteria filter valid yang digunakan fungsi Anda secara aktif. Jika fungsi tidak menggunakan pemfilteran peristiwa, CloudTrail tidak akan menampilkan FilterCriteria bidang sama sekali dalam entri log.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA123456789EXAMPLE:userid1", "arn": "arn:aws:sts::123456789012:assumed-role/Example/example-role", "accountId": "123456789012", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA987654321EXAMPLE", "arn": "arn:aws:iam::123456789012:role/User1", "accountId": "123456789012", "userName": "User1" }, "webIdFederationData": {}, "attributes": { "creationDate": "2024-05-09T20:35:01Z", "mfaAuthenticated": "false" } }, "invokedBy": "AWS Internal" }, "eventTime": "2024-05-09T21:05:41Z", "eventSource": "lambda.amazonaws.com", "eventName": "CreateEventSourceMapping20150331", "awsRegion": "us-east-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "eventSourceArn": "arn:aws:sqs:us-east-2:123456789012:example-queue", "functionName": "example-function", "enabled": true, "batchSize": 10, "filterCriteria": {}, "kMSKeyArn": "arn:aws:kms:us-east-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "scalingConfig": {}, "maximumBatchingWindowInSeconds": 0, "sourceAccessConfigurations": [] }, "responseElements": { "uUID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "batchSize": 10, "maximumBatchingWindowInSeconds": 0, "eventSourceArn": "arn:aws:sqs:us-east-2:123456789012:example-queue", "filterCriteria": {}, "kMSKeyArn": "arn:aws:kms:us-east-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "functionArn": "arn:aws:lambda:us-east-2:123456789012:function:example-function", "lastModified": "May 9, 2024, 9:05:41 PM", "state": "Creating", "stateTransitionReason": "USER_INITIATED", "functionResponseTypes": [], "eventSourceMappingArn": "arn:aws:lambda:us-east-2:123456789012:event-source-mapping:a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb" }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }
Menggunakan filter dengan yang berbeda Layanan AWS
Berbagai jenis sumber peristiwa menggunakan nilai kunci yang berbeda untuk bidang data mereka. Untuk memfilter properti data, pastikan Anda menggunakan kunci yang benar dalam pola filter Anda. Tabel berikut memberikan kunci pemfilteran untuk setiap yang didukung Layanan AWS.
| Layanan AWS | Kunci penyaringan |
|---|---|
| DynamoDB | dynamodb |
| Kinesis | data |
| Amazon MQ | data |
| Amazon MSK | value |
| Self-managed Apache Kafka | value |
| Amazon SQS | body |
Bagian berikut memberikan contoh pola filter untuk berbagai jenis sumber peristiwa. Mereka juga menyediakan definisi format data masuk yang didukung dan format badan pola filter untuk setiap layanan yang didukung.