Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Controlla quali eventi Lambda invia alla tua funzione
Puoi utilizzare il filtraggio degli eventi per controllare quali record di un flusso o di una coda Lambda invia alla funzione. Ad esempio, puoi aggiungere un filtro in modo che la tua funzione elabori solo i SQS messaggi Amazon contenenti determinati parametri di dati. Il filtraggio degli eventi funziona solo con determinate mappature delle sorgenti degli eventi. È possibile aggiungere filtri alle mappature delle sorgenti degli eventi per i seguenti servizi: AWS
-
Amazon DynamoDB
-
Flusso di dati Amazon Kinesis
-
Amazon MQ
-
Streaming gestito da Amazon per Apache Kafka (Amazon) MSK
-
Apache Kafka gestito dal cliente
-
Servizio Amazon Simple Queue (AmazonSQS)
Per informazioni specifiche sul filtraggio con fonti di eventi specifiche, consulta. Utilizzo di filtri con diversi Servizi AWS Lambda non supporta il filtraggio degli eventi per Amazon DocumentDB.
Per impostazione predefinita, è possibile definire fino a cinque filtri diversi per una singola mappatura dell'origine degli eventi. I filtri sono collegati logicamenteORed. Se un record proveniente dall'origine dell'evento soddisfa uno o più filtri, Lambda include il record nell'evento successivo che invia alla funzione. Se nessuno dei filtri è soddisfatto, Lambda scarta il record.
Nota
Se devi definire più di cinque filtri per un'origine di eventi, puoi richiedere un aumento della quota per un massimo di 10 filtri per ogni fonte di evento. Se si tenta di aggiungere più filtri rispetto a quelli consentiti dalla quota corrente, Lambda restituirà un errore quando si tenta di creare l'origine dell'evento.
Argomenti
- Comprendere le nozioni di base sul filtraggio degli eventi
- Gestione dei record che non soddisfano i criteri di filtraggio
- Sintassi delle regole di filtro
- Collegamento dei criteri di filtro a una mappatura dell'origine evento (console)
- Collegamento dei criteri di filtro a una mappatura dell'origine evento (AWS CLI)
- Collegamento dei criteri di filtro a una mappatura dell'origine evento (AWS SAM)
- Crittografia dei criteri di filtro
- Utilizzo di filtri con diversi Servizi AWS
Comprendere le nozioni di base sul filtraggio degli eventi
Un oggetto criterio di filtro (FilterCriteria
) è una struttura costituita da un elenco di filtri (Filters
). Ogni filtro è una struttura che definisce un modello di filtraggio degli eventi (Pattern
). Un pattern è una rappresentazione in formato stringa di una regola di JSON filtro. La struttura di un oggetto FilterCriteria
è come segue.
{ "Filters": [ { "Pattern": "{ \"Metadata1\": [ rule1 ], \"data\": { \"Data1\": [ rule2 ] }}" } ] }
Per maggiore chiarezza, ecco il valore del filtro Pattern
espanso in chiaroJSON.
{ "Metadata1": [ rule1 ], "data": { "Data1": [ rule2 ] } }
Il modello di filtraggio può includere proprietà dei metadati, proprietà dei dati o entrambe. I parametri dei metadati disponibili e il formato dei parametri dei dati variano a seconda del Servizio AWS che funge da origine dell'evento. Ad esempio, supponiamo che la mappatura dell'origine degli eventi riceva il seguente record da una coda AmazonSQS:
{ "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" }
-
Le Proprietà dei metadati sono i campi contenenti informazioni sull'evento che ha creato il record. Nel SQS record Amazon di esempio, le proprietà dei metadati includono campi come
messageID
eventSourceArn
, eawsRegion
. -
Le Proprietà dei dati sono i campi del record contenenti i dati del flusso o della coda. Nell'esempio dell'SQSevento Amazon, la chiave per il campo dati è
body
, e le proprietà dei dati sonoCity
State
i campi eTemperature
.
Diversi tipi di origine degli eventi utilizzano valori di chiave differenti per i rispettivi campi di dati. Per filtrare le proprietà dei dati, assicurati di utilizzare la chiave corretta nel modello del filtraggio. Per un elenco delle chiavi di filtraggio dei dati e per vedere esempi di modelli di filtro per ciascuna delle chiavi supportate Servizio AWS, consulta. Utilizzo di filtri con diversi Servizi AWS
Il filtraggio degli eventi può gestire il filtraggio a più livelliJSON. Considera, ad esempio, il seguente frammento di un record da un flusso DynamoDB:
"dynamodb": { "Keys": { "ID": { "S": "ABCD" } "Number": { "N": "1234" }, ... }
Supponi di voler elaborare solo i record in cui il valore della chiave di ordinamento Number
è 4567. In questo caso, l'oggetto FilterCriteria
appare così:
{ "Filters": [ { "Pattern": "{ \"dynamodb\": { \"Keys\": { \"Number\": { \"N\": [ "4567" ] } } } }" } ] }
Per maggiore chiarezza, ecco il valore del filtro Pattern
espanso in chiaro. JSON
{ "dynamodb": { "Keys": { "Number": { "N": [ "4567" ] } } } }
Gestione dei record che non soddisfano i criteri di filtraggio
Il modo in cui Lambda gestisce i record che non soddisfano i tuoi criteri di filtro dipende dall'origine dell'evento.
Per Amazon SQS, se un messaggio non soddisfa i criteri di filtro, Lambda rimuove automaticamente il messaggio dalla coda. Non è necessario eliminare manualmente questi messaggi in AmazonSQS.
-
Per Kinesis e DynamoDB, dopo che i criteri di filtro hanno valutato un record, l'iteratore stream avanza oltre questo record. Se il registro non soddisfa i criteri di filtro, non è necessario eliminare manualmente il registro dall'origine evento. Dopo il periodo di conservazione, Kinesis e DynamoDB eliminano automaticamente questi vecchi record. Se vuoi che i record vengano eliminati prima, consulta Modifica del periodo di conservazione dei dati.
-
Per i messaggi Amazon MSK, Apache Kafka e Amazon MQ autogestiti, Lambda rilascia i messaggi che non corrispondono a tutti i campi inclusi nel filtro. Per Amazon MSK e Apache Kafka autogestito, Lambda esegue il commit degli offset per i messaggi corrispondenti e non corrispondenti dopo aver richiamato correttamente la funzione. Per Amazon MQ, Lambda riconosce i messaggi corrispondenti dopo aver richiamato con successo la funzione e riconosce i messaggi senza corrispondenza quando li filtra.
Sintassi delle regole di filtro
Per le regole di filtro, Lambda supporta EventBridge le regole di Amazon e utilizza la stessa sintassi di. EventBridge Per ulteriori informazioni, consulta i modelli di EventBridge eventi di Amazon nella Amazon EventBridge User Guide.
Di seguito è riportato un riepilogo di tutti gli operatori di confronto disponibili per il filtro eventi Lambda.
Operatore di confronto | Esempio | Sintassi delle regole |
---|---|---|
Null |
UserID è nullo |
"UserID": [ nullo ] |
Empty |
LastName è vuoto |
"LastName": [""] |
Equals |
Il nome è "Alice" |
"Nome": [ "Alice" ] |
Uguale a (ignora maiuscole e minuscole) |
Il nome è "Alice" |
«Nome»: [{"equals-ignore-case«: «alice»}] |
And |
La posizione è "New York" e il giorno è "lunedì" |
"Luogo": [ "New York" ], "Giorno": ["lunedì"] |
Or |
PaymentType è «Credito» o «Debito» |
"PaymentType«: [«Credito», «Debito"] |
Or (campi multipli) |
La posizione è "New York" o il giorno è "lunedì". |
"$or": [ { "Location": [ "New York" ] }, { "Day": [ "Monday" ] } ] |
Not |
Il tempo è qualsiasi tranne "piovoso" |
"Meteo": [ { "anything-but": [ "Piove" ] } ] |
Numerico (uguale) |
Il prezzo è 100 |
"Prezzo": [ { "numerico": [ "=", 100 ] } ] |
Numerico (intervallo) |
Il prezzo è superiore a 10 e inferiore o uguale a 20 |
"Prezzo": [ { "numerico": [ ">", 10, "<=", 20 ] } ] |
Exists |
ProductName esiste |
"ProductName«: [{«exists»: vero}] |
Does not exist |
ProductName non esiste |
"ProductName«: [{«exists»: false}] |
Begins with |
La Regione è negli Stati Uniti |
"Regione": [ {"prefisso": "us-" } ] |
Ends with |
FileName termina con un'estensione.png. |
"FileName«: [{«suffix»: «.png»}] |
Nota
Ad esempio EventBridge, per le stringhe, Lambda utilizza la corrispondenza character-by-character esatta senza ripiegamento tra maiuscole e minuscole o qualsiasi altra normalizzazione delle stringhe. Per i numeri Lambda utilizza anche la rappresentazione di stringhe. Ad esempio, 300, 300.0 e 3.0e2 non sono considerati uguali.
Nota che l'operatore Exists funziona solo sui nodi foglia nella fonte dell'evento. JSON Non corrisponde ai nodi intermedi. Ad esempio, con quanto segueJSON, il modello di filtro non { "person": { "address": [ { "exists": true } ] } }"
troverebbe una corrispondenza perché "address"
è un nodo intermedio.
{ "person": { "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "Anytown", "country": "USA" } } }
Collegamento dei criteri di filtro a una mappatura dell'origine evento (console)
Seguire questi passaggi per creare una nuova mappatura delle origini eventi con criteri di filtro utilizzando la console Lambda.
Per creare una nuova mappatura dell'origine evento con criteri di filtro (console)
-
Aprire la pagina Funzioni
della console Lambda. -
Scegliere il nome di una funzione per la creazione di una mappatura dell'origine evento.
-
In Panoramica delle funzioni, scegliere Aggiungi trigger.
-
Per Trigger configuration (Configurazione trigger), scegliere un tipo di attivazione che supporta il filtraggio degli eventi. Per un elenco dei servizi supportati, consulta l'elenco all'inizio di questa pagina.
-
Espandere Additional settings (Impostazioni aggiuntive).
-
Alla voce Filter criteria (Criteri di filtro), seleziona Add (Aggiungi), quindi definisci e immetti i filtri. Ad esempio, è possibile inserire i seguenti valori.
{ "Metadata" : [ 1, 2 ] }
Ciò indica a Lambda di elaborare solo i registri in cui il campo
Metadata
è uguale a 1 o 2. Puoi continuare a selezionare Aggiungi per aggiungere altri filtri fino alla quantità massima consentita. -
Una volta completata l'aggiunta di filtri, scegli Salva.
Quando si inseriscono i criteri di filtraggio utilizzando la console, si inserisce solo il modello di filtraggio e non è necessario fornire la chiave Pattern
o le virgolette di escape. Nel passaggio 6 delle istruzioni precedenti, { "Metadata" : [ 1, 2 ] }
corrisponde ai FilterCriteria
seguenti.
{ "Filters": [ { "Pattern": "{ \"Metadata\" : [ 1, 2 ] }" } ] }
Dopo aver creato la mappatura dell'origine eventi nella console, è possibile visualizzare il FilterCriteria
formattato nei dettagli del trigger. Per altri esempi di creazione di filtri per gli eventi utilizzando la console, consulta la pagina Utilizzo di filtri con diversi Servizi AWS.
Collegamento dei criteri di filtro a una mappatura dell'origine evento (AWS CLI)
Supponiamo che si desideri che una mappatura dell'origine eventi abbia i seguenti FilterCriteria
:
{ "Filters": [ { "Pattern": "{ \"Metadata\" : [ 1, 2 ] }" } ] }
Per creare una nuova mappatura dell'origine degli eventi con questi criteri di filtro utilizzando AWS Command Line Interface (AWS CLI), esegui il comando seguente.
aws lambda create-event-source-mapping \ --function-name
my-function
\ --event-source-arnarn:aws:sqs:us-east-2:123456789012:my-queue
\ --filter-criteria '{"Filters": [{"Pattern": "{ \"Metadata\" : [ 1, 2 ]}"}]}'
Questo create-event-source-mappingcomando crea una nuova mappatura SQS dell'origine degli eventi Amazon per la funzione my-function
con quanto specificatoFilterCriteria
.
Per aggiungere questi criteri di filtraggio a una mappatura dell'origine degli eventi esistente, esegui il comando seguente.
aws lambda update-event-source-mapping \ --uuid
"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
\ --filter-criteria '{"Filters": [{"Pattern": "{ \"Metadata\" : [ 1, 2 ]}"}]}'
Tieni presente che per aggiornare una mappatura delle sorgenti di eventi, ne hai bisogno. UUID È possibile ottenerlo UUID da una list-event-source-mappingschiamata. Lambda restituisce anche UUID nella create-event-source-mappingCLIrisposta.
Per rimuovere i criteri di filtro da un'origine di eventi, puoi eseguire il update-event-source-mappingcomando seguente con un FilterCriteria
oggetto vuoto.
aws lambda update-event-source-mapping \ --uuid
"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
\ --filter-criteria "{}"
Per ulteriori esempi di creazione di filtri di eventi utilizzando il AWS CLI, vedereUtilizzo di filtri con diversi Servizi AWS.
Collegamento dei criteri di filtro a una mappatura dell'origine evento (AWS SAM)
Supponiamo di voler configurare un'origine di eventi in modo AWS SAM da utilizzare i seguenti criteri di filtro:
{ "Filters": [ { "Pattern": "{ \"Metadata\" : [ 1, 2 ] }" } ] }
Per aggiungere questi criteri di filtro alla mappatura della fonte dell'evento, inserisci il seguente frammento nel YAML modello della fonte dell'evento.
FilterCriteria: Filters: - Pattern: '{"Metadata": [1, 2]}'
Per ulteriori informazioni sulla creazione e la configurazione di un AWS SAM modello per la mappatura delle sorgenti di un evento, consulta la EventSourcesezione della Guida per gli sviluppatori. AWS SAM Per altri esempi di creazione di filtri di eventi utilizzando AWS SAM modelli, consulta. Utilizzo di filtri con diversi Servizi AWS
Crittografia dei criteri di filtro
Per impostazione predefinita, Lambda non crittografa l'oggetto dei criteri di filtro. Nei casi d'uso in cui è possibile includere informazioni riservate nell'oggetto dei criteri di filtro, è possibile utilizzare la propria KMSchiave per crittografarle.
Dopo aver crittografato l'oggetto dei criteri di filtro, è possibile visualizzarne la versione in testo semplice utilizzando una chiamata. GetEventSourceMappingAPI È necessario disporre kms:Decrypt
delle autorizzazioni per poter visualizzare correttamente i criteri di filtro in testo non crittografato.
Nota
Se l'oggetto dei criteri di filtro è crittografato, Lambda oscura il valore del FilterCriteria
campo nella risposta alle chiamate. ListEventSourceMappings Invece, questo campo viene visualizzato come. null
Per vedere il vero valore diFilterCriteria
, usa il GetEventSourceMappingAPI.
Per visualizzare il valore decrittografato di FilterCriteria
nella console, assicurati che il tuo IAM ruolo contenga le autorizzazioni per. GetEventSourceMapping
Puoi specificare la tua KMS chiave tramite la console,API/CLI, o. AWS CloudFormation
Per crittografare i criteri di filtro con una KMS chiave di proprietà del cliente (console)
-
Aprire la pagina Funzioni
della console Lambda. -
Selezionare Add trigger (Aggiungi trigger). Se disponi già di un trigger esistente, scegli la scheda Configurazione, quindi scegli Trigger. Seleziona il trigger esistente e scegli Modifica.
-
Seleziona la casella di controllo accanto a Encrypt with Customer Managed KMS Key.
-
Per Scegli una chiave di KMS crittografia gestita dal cliente, seleziona una chiave abilitata esistente o crea una nuova chiave. A seconda dell'operazione, sono necessarie alcune o tutte le seguenti autorizzazioni:
kms:DescribeKey
kms:GenerateDataKey
, ekms:Decrypt
. Utilizza la politica KMS chiave per concedere queste autorizzazioni.
Se utilizzi la tua KMS chiave, le seguenti API operazioni devono essere consentite nella politica delle chiavi:
-
kms:Decrypt
— Deve essere concesso al responsabile del servizio Lambda regionale (lambda.
). Ciò consente a Lambda di decrittografare i dati con questa chiave. KMSAWS_region
.amazonaws.com-
Per evitare la confusione tra diversi servizi, la policy chiave utilizza la
aws:SourceArn
chiave di condizione globale. Il valore corretto dellaaws:SourceArn
chiave è quello della risorsa ARN di mappatura della sorgente degli eventi, quindi puoi aggiungerla alla tua policy solo dopo averla conosciuta. ARN Lambda inoltra ancheaws:lambda:EventSourceArn
le chiaviaws:lambda:FunctionArn
and e i rispettivi valori nel contesto di crittografia quando effettua una richiesta di decrittografia a. KMS Affinché la richiesta di decrittografia abbia successo, questi valori devono corrispondere alle condizioni specificate nella politica chiave. Non è necessario includere le sorgenti EventSourceArn di eventi Kafka gestite in modo autonomo poiché non dispongono di un. EventSourceArn
-
-
kms:Decrypt
— Deve essere concesso anche al preside che intende utilizzare la chiave per visualizzare i criteri di filtro in chiaro nelle nostre chiamate. GetEventSourceMappingDeleteEventSourceMappingAPI -
kms:DescribeKey
— Fornisce i dettagli chiave gestiti dal cliente per consentire al principale specificato di utilizzare la chiave. -
kms:GenerateDataKey
— Fornisce le autorizzazioni a Lambda per generare una chiave dati per crittografare i criteri di filtro, per conto del principale specificato (crittografia a busta).
Puoi utilizzarlo AWS CloudTrail per tenere traccia AWS KMS delle richieste che Lambda effettua per tuo conto. Per esempi di CloudTrail eventi, consultaMonitoraggio delle chiavi di crittografia per Lambda.
Consigliamo inoltre di utilizzare la chiave kms:ViaService
condition per limitare l'uso della KMS chiave solo alle richieste provenienti da Lambda. Il valore di questa chiave è il servizio Lambda regionale principal ()lambda.
. Di seguito è riportato un esempio di politica chiave che concede tutte le autorizzazioni pertinenti:AWS_region
.amazonaws.com
Esempio AWS KMS politica chiave
{ "Version": "2012-10-17", "Id": "example-key-policy-1", "Statement": [ { "Sid": "Allow Lambda to decrypt using the key", "Effect": "Allow", "Principal": { "Service":
"lambda.us-east-1.amazonaws.com"
}, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "ArnEquals" : { "aws:SourceArn": ["arn:aws:lambda:us-east-1:123456789012:event-source-mapping:<esm_uuid>"
] }, "StringEquals": { "kms:EncryptionContext:aws:lambda:FunctionArn":"arn:aws:lambda:us-east-1:123456789012:function:test-function"
, "kms:EncryptionContext:aws:lambda:EventSourceArn":"arn:aws:sqs:us-east-1:123456789012:test-queue"
} } }, { "Sid": "Allow actions by an AWS account on the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow use of the key to specific roles", "Effect": "Allow", "Principal": { "AWS":"arn:aws:iam::123456789012:role/ExampleRole"
}, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals" : { "kms:ViaService":"lambda.us-east-1.amazonaws.com"
} } } ] }
Per utilizzare la propria KMS chiave per crittografare i criteri di filtro, è possibile utilizzare anche il seguente CreateEventSourceMapping AWS CLI comando. Specificate la KMS chiave ARN con la --kms-key-arn
bandiera.
aws lambda create-event-source-mapping --function-name my-function \ --maximum-batching-window-in-seconds 60 \ --event-source-arn
arn: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
Se disponi di una mappatura della sorgente degli eventi esistente, usa invece il UpdateEventSourceMapping AWS CLI comando. Specificate la KMS chiave ARN con la --kms-key-arn
bandiera.
aws lambda update-event-source-mapping --function-name my-function \ --maximum-batching-window-in-seconds 60 \ --event-source-arn
arn: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
Questa operazione sovrascrive qualsiasi KMS chiave precedentemente specificata. Se specifichi il --kms-key-arn
flag insieme a un argomento vuoto, Lambda smette di usare la tua KMS chiave per crittografare i criteri di filtro. Lambda torna invece a utilizzare per impostazione predefinita una chiave di proprietà di Amazon.
Per specificare la tua KMS chiave in un AWS CloudFormation modello, utilizza la KMSKeyArn
proprietà del tipo di risorsa. AWS::Lambda::EventSourceMapping
Ad esempio, puoi inserire il seguente frammento nel YAML modello per la fonte del tuo evento.
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
" ...
Per poter visualizzare i criteri di filtro crittografati in testo semplice in una DeleteEventSourceMappingAPIchiamata GetEventSourceMappingo, è necessario disporre delle autorizzazioni. kms:Decrypt
A partire dal 6 agosto 2024, il FilterCriteria
campo non viene più visualizzato nei AWS CloudTrail log di e nelle DeleteEventSourceMappingAPIchiamate se la funzione non utilizza il filtro degli eventi. CreateEventSourceMappingUpdateEventSourceMapping Se la tua funzione utilizza il filtro degli eventi, il FilterCriteria
campo viene visualizzato come vuoto (). {}
Puoi comunque visualizzare i criteri di filtro in testo semplice nella risposta alle GetEventSourceMappingAPIchiamate se disponi delle kms:Decrypt
autorizzazioni per la chiave corretta. KMS
Nel seguente AWS CloudTrail esempio di voce di registro per una CreateEventSourceMapping chiamata, FilterCriteria
viene visualizzata come empty ({}
) perché la funzione utilizza il filtro degli eventi. Questo è il caso anche se FilterCriteria
l'oggetto contiene criteri di filtro validi che la funzione utilizza attivamente. Se la funzione non utilizza il filtro degli eventi, CloudTrail non visualizzerà affatto il FilterCriteria
campo nelle voci di registro.
{ "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" }
Utilizzo di filtri con diversi Servizi AWS
Diversi tipi di origine degli eventi utilizzano valori di chiave differenti per i rispettivi campi di dati. Per filtrare le proprietà dei dati, assicurati di utilizzare la chiave corretta nel modello del filtraggio. La tabella seguente fornisce le chiavi di filtro per ogni supporto Servizio AWS.
Servizio AWS | Chiave di filtraggio |
---|---|
DynamoDB | dynamodb |
Kinesis | data |
Amazon MQ | data |
Amazon MSK | value |
Apache Kafka gestito dal cliente | value |
Amazon SQS | body |
Le sezioni seguenti forniscono esempi di modelli di filtro per diversi tipi di sorgenti di eventi. Forniscono inoltre definizioni dei formati di dati in entrata supportati e dei formati del corpo dei modelli di filtraggio per ciascun servizio supportato.
-
Utilizzo del filtraggio degli eventi con una sorgente di eventi DynamoDB
-
Utilizzo del filtraggio degli eventi con una sorgente di eventi Kinesis
-
Utilizzo del filtraggio degli eventi con una fonte di MSK eventi Amazon
-
Utilizzo del filtraggio degli eventi con una fonte di eventi Apache Kafka autogestita
-
Utilizzo del filtraggio degli eventi con una fonte di SQS eventi Amazon