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à.
Controllare gli eventi che Lambda invia alla 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 messaggi Amazon SQS contenenti determinati parametri di dati. Il filtraggio degli eventi funziona solo con determinati strumenti di mappatura dell'origine degli eventi. Puoi aggiungere filtri allo strumento di mappatura dell'origine degli eventi per i seguenti Servizi AWS:
-
Amazon DynamoDB
-
Flusso di dati Amazon Kinesis
-
Amazon MQ
-
Amazon Managed Streaming for Apache Kafka (Amazon MSK)
-
Apache Kafka gestito dal cliente
-
Amazon Simple Queue Service (Amazon SQS)
Per informazioni specifiche sul filtraggio con origini eventi specifiche, consulta Utilizzo di filtri con Servizi AWS diversi. 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 logicamente elaborati come alternative nel loro insieme. 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 eventi, puoi richiedere un aumento della quota fino a 10 filtri per ciascuna origine eventi. Se provi ad aggiungere più filtri di quelli consentiti dalla quota corrente, Lambda restituisce un errore quando provi a creare l'origine degli eventi.
Argomenti
- Nozioni di base sul filtraggio di 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 Servizi AWS diversi
Nozioni di base sul filtraggio di 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 modello è una rappresentazione di stringa di una regola di filtraggio JSON. La struttura di un oggetto FilterCriteria
è come segue.
{ "Filters": [ { "Pattern": "{ \"Metadata1\": [ rule1 ], \"data\": { \"Data1\": [ rule2 ] }}" } ] }
Per una maggiore chiarezza, ecco il valore del Pattern
del filtro espanso in JSON semplice.
{ "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 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" }
-
Le Proprietà dei metadati sono i campi contenenti informazioni sull'evento che ha creato il record. Nel record Amazon SQS 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 di evento Amazon SQS, la chiave per il campo dati è
body
e le proprietà dei dati sono i campiCity
,State
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 degli esempi dei modelli di filtraggio per ogni Servizio AWS supportato, consulta la sezione Utilizzo di filtri con Servizi AWS diversi.
Il filtraggio degli eventi è in grado di gestire il filtraggio JSON multi-livello. 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 una maggiore chiarezza, ecco il valore del Pattern
del filtro espanso in JSON semplice.
{ "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 criteri di filtro dipende dall'origine eventi.
Per Amazon SQS, se un messaggio non soddisfa i criteri di filtraggio, Lambda rimuove automaticamente il messaggio dalla coda. Non è necessario eliminare manualmente questi messaggi in Amazon SQS.
-
Per Kinesis e DynamoDB, una volta che i criteri di filtraggio valutano un record, l'iteratore di flussi passa 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 autogestiti e Amazon MQ, Lambda elimina 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 non corrispondenti quando li filtra.
Sintassi delle regole di filtro
Per le regole di filtraggio, Lambda supporta le regole di Amazon EventBridge e utilizza la medesima sintassi di EventBridge. Per ulteriori informazioni, consulta Modelli di eventi Amazon EventBridge nella Guida per l'utente di Amazon EventBridge.
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" |
"Name": [ { "equals-ignore-case": "alice" } ] |
And |
La posizione è "New York" e il giorno è "lunedì" |
"Luogo": [ "New York" ], "Giorno": ["lunedì"] |
Or |
PaymentType è "Credito" o "Addebito" |
"PaymentType": [ "Credito", "Addebito"] |
Oppure (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": [ { "esiste": true } ] |
Non esiste |
ProductName non esiste |
"ProductName": [ { "esiste": false } ] |
Inizia con |
La Regione è negli Stati Uniti |
"Regione": [ {"prefisso": "us-" } ] |
Ends with |
FileName termina con una estensione .png. |
"FileName": [ { "suffix": ".png" } ] |
Nota
Come EventBridge, per le stringhe, Lambda utilizza un'esatta corrispondenza carattere per carattere senza differenze di maiuscolo e minuscolo o di altre normalizzazioni delle stringhe. Per i numeri Lambda utilizza anche la rappresentazione di stringhe. Ad esempio, 300, 300.0 e 3.0e2 non sono considerati uguali.
Tieni presente che l'operatore Exists funziona solo sui nodi foglia nell'origine eventi JSON. Non corrisponde ai nodi intermedi. Ad esempio, con il seguente codice JSON, lo schema di filtro { "person": { "address": [ { "exists": true } ] } }"
non 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 Functions (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 al numero massimo consentito. -
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 Servizi AWS diversi.
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 filtraggio utilizzando l'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 ]}"}]}'
Il comando create-event-source-mapping crea una nuova mappatura dell'origine degli eventi Amazon SQS per la funzione my-function
con i FilterCriteria
specificati.
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 ]}"}]}'
Si noti che per aggiornare una mappatura di origine eventi, è necessario il suo UUID. È possibile ottenere l'UUID tramite una chiamata list-event-source-mappings. Lambda restituisce anche l'UUID nella risposta della CLI create-event-source-mapping.
Per rimuovere i criteri di filtraggio da un'origine degli eventi, è possibile eseguire il comando update-event-source-mapping con un oggetto FilterCriteria
vuoto.
aws lambda update-event-source-mapping \ --uuid
"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
\ --filter-criteria "{}"
Per altri esempi di creazione di filtri per gli eventi utilizzando la AWS CLI, consulta la pagina Utilizzo di filtri con Servizi AWS diversi.
Collegamento dei criteri di filtro a una mappatura dell'origine evento (AWS SAM)
Supponiamo di voler configurare un'origine eventi AWS SAM per utilizzare i seguenti criteri di filtro:
{ "Filters": [ { "Pattern": "{ \"Metadata\" : [ 1, 2 ] }" } ] }
Per aggiungere questi criteri di filtro allo strumento di mappatura dell'origine degli eventi, inserisci il seguente frammento nel modello YAML delle origini eventi.
FilterCriteria: Filters: - Pattern: '{"Metadata": [1, 2]}'
Per ulteriori informazioni sulla creazione e la configurazione di un modello AWS SAM per uno strumento di mappatura dell'origine degli eventi, consulta la sezione EventSource della Guida per gli sviluppatori di AWS SAM. Per altri esempi di creazione di filtri per gli eventi utilizzando i modelli AWS SAM, consulta la pagina Utilizzo di filtri con Servizi AWS diversi.
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 chiave KMS per crittografarlo.
Dopo aver crittografato l'oggetto dei criteri di filtro, puoi visualizzarne la versione in testo semplice utilizzando una chiamata all'API GetEventSourceMapping. È necessario disporre delle autorizzazioni kms:Decrypt
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 campo FilterCriteria
nella risposta alle chiamate ListEventSourceMappings. Invece, questo campo viene visualizzato come null
. Per vedere il vero valore di FilterCriteria
, utilizza l'API GetEventSourceMapping.
Per visualizzare il valore decrittografato di FilterCriteria
nella console, assicurati che il tuo ruolo IAM contenga le autorizzazioni per GetEventSourceMapping.
Puoi specificare la tua chiave KMS tramite la console, l'API, la CLI o AWS CloudFormation.
Per crittografare i criteri di filtro con una chiave KMS di proprietà del cliente (console)
-
Aprire la pagina Functions (Funzioni)
della console Lambda. -
Selezionare Add trigger (Aggiungi trigger). Se hai già un trigger esistente, scegli la scheda Configurazione, quindi scegli Trigger. Seleziona il trigger esistente e scegli Modifica.
-
Seleziona la casella di controllo accanto a Crittografa con chiave KMS gestita dal cliente.
-
Per Scegli una chiave di crittografia KMS 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 policy delle chiavi KMS per concedere queste autorizzazioni.
Se utilizzi la tua chiave KMS, le seguenti operazioni API devono essere permesse nella policy della chiave:
-
kms:Decrypt
: deve essere concesso al principale del servizio Lambda regionale (lambda.
). Ciò permette a Lambda per decrittografare i dati con questa chiave KMS.AWS_region
.amazonaws.com.rproxy.goskope.com-
Per evitare un problema di confused deputy tra servizi, la policy della chiave utilizza la chiave di condizione globale
aws:SourceArn
. Il valore corretto della chiaveaws:SourceArn
è l'ARN della risorsa dello strumento di mappatura dell'origine degli eventi, quindi puoi aggiungerlo alla tua policy solo dopo averne rilevato l'ARN. Lambda inoltra inoltre le chiaviaws:lambda:FunctionArn
eaws:lambda:EventSourceArn
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 policy della chiave. Non è necessario includere EventSourceArn per le origini eventi Kafka autogestite poiché non dispongono di un EventSourceArn.
-
-
kms:Decrypt
: deve essere concessa anche al principale che intende utilizzare la chiave per visualizzare i criteri di filtro in chiaro nelle chiamate all'API GetEventSourceMapping o DeleteEventSourceMapping. -
kms:DescribeKey
: fornisce i dettagli della chiave gestita dal cliente per consentire al principale specificato di utilizzare la chiave. -
kms:GenerateDataKey
: fornisce le autorizzazioni a Lambda per generare una chiave di dati per crittografare i criteri di filtro per conto del principale specificato (crittografia a busta).
È possibile utilizzare AWS CloudTrail per monitorare le richieste AWS KMS che Lambda invia per tuo conto. Per eventi CloudTrail di esempio, consulta Monitoraggio delle chiavi di crittografia per Lambda.
Consigliamo inoltre di utilizzare la chiave di condizione kms:ViaService
per limitare l'uso della chiave KMS solo alle richieste provenienti da Lambda. Il valore di questa chiave è il principale del servizio Lambda regionale (lambda.
). Di seguito è riportata una policy della chiave di esempio che concede tutte le autorizzazioni pertinenti:AWS_region
.amazonaws.com
Esempio Policy delle chiavi AWS KMS
{ "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 tua chiave KMS per crittografare i criteri di filtro, puoi anche utilizzare il seguente comando CreateEventSourceMapping della AWS CLI. Specifica l'ARN della chiave KMS con il flag --kms-key-arn
.
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 uno strumento di mappatura dell'origine degli eventi esistente, utilizza invece il comando UpdateEventSourceMapping della AWS CLI. Specifica l'ARN della chiave KMS con il flag --kms-key-arn
.
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 chiave KMS specificata in precedenza. Se specifichi il flag --kms-key-arn
insieme a un argomento vuoto, Lambda smette di usare la chiave KMS per crittografare i criteri di filtro. Torna invece a utilizzare per impostazione predefinita una chiave di proprietà di Amazon.
Per specificare la tua chiave KMS in un modello AWS CloudFormation, utilizza la proprietà KMSKeyArn
del tipo di risorsa AWS::Lambda::EventSourceMapping
. Ad esempio, puoi inserire il seguente frammento di codice nel modello YAML dell'origine eventi.
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 chiamata all'API GetEventSourceMapping o DeleteEventSourceMapping, è necessario disporre delle autorizzazioni kms:Decrypt
.
A partire dal 6 agosto 2024, il campo FilterCriteria
non viene più visualizzato nei log AWS CloudTrail delle chiamate API CreateEventSourceMapping, UpdateEventSourceMapping e DeleteEventSourceMapping se la funzione non utilizza il filtro degli eventi. Se la tua funzione utilizza il filtro degli eventi, il campo FilterCriteria
viene visualizzato come vuoto ({}
). Puoi comunque visualizzare i criteri di filtro in testo semplice nella risposta alle chiamate all'API GetEventSourceMapping se disponi delle autorizzazioni kms:Decrypt
per la chiave KMS corretta.
Nella seguente voce di log di esempio AWS CloudTrail per una chiamata CreateEventSourceMapping, FilterCriteria
viene visualizzato come vuoto ({}
) perché la funzione utilizza il filtro degli eventi. Questo è il caso anche se l'oggetto FilterCriteria
contiene criteri di filtro validi che la funzione utilizza attivamente. Se la funzione non utilizza il filtro degli eventi, CloudTrail non visualizzerà affatto il campo FilterCriteria
nelle voci di 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" }
Utilizzo di filtri con Servizi AWS diversi
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 filtraggio per ciascun Servizio AWS supportato.
Servizio AWS | Chiave di filtraggio |
---|---|
DynamoDB | dynamodb |
Kinesis | data |
Amazon MQ | data |
MSK Amazon | value |
Apache Kafka gestito dal cliente | value |
Amazon SQS | body |
Le sezioni seguenti forniscono esempi di modelli di filtraggio per diversi tipi di origini eventi. Forniscono inoltre definizioni dei formati di dati in entrata supportati e dei formati del corpo dei modelli di filtraggio per ciascun servizio supportato.