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à.
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. È possibile aggiungere filtri alle mappature delle sorgenti degli eventi per quanto segue: 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 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 tuoi filtri sono collegati ORed logicamente. 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
Gestione dei record che non soddisfano i criteri di filtraggio
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)
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 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 è 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 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.
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 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 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 dell'origine degli eventi Amazon SQS per una funzione my-function
con quanto specificato. FilterCriteria
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 da una chiamata. list-event-source-mappings Lambda restituisce anche l'UUID nella risposta CLI. create-event-source-mapping
Per rimuovere i criteri di filtro da un'origine di eventi, puoi eseguire il update-event-source-mappingcomando seguente con un oggetto vuoto. FilterCriteria
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 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 AWS SAM modello per la mappatura delle sorgenti di un evento, consultate la EventSourcesezione della Guida per gli AWS SAM sviluppatori. 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 chiave KMS per crittografarlo.
Dopo aver crittografato l'oggetto dei criteri di filtro, puoi visualizzarne la versione in testo semplice utilizzando una GetEventSourceMappingchiamata API. È 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 FilterCriteria
campo nella risposta alle chiamate. ListEventSourceMappings Invece, questo campo viene visualizzato come null
. Per vedere il vero valore diFilterCriteria
, usa l'GetEventSourceMappingAPI.
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 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 fonti 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 API. GetEventSourceMappingDeleteEventSourceMapping -
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).
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 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 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 chiave KMS per crittografare i criteri di filtro, è possibile utilizzare anche il seguente CreateEventSourceMapping AWS CLI comando. 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 una mappatura della fonte degli eventi esistente, usa invece il UpdateEventSourceMapping AWS CLI comando. 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 AWS CloudFormation modello, usa la KMSKeyArn
proprietà del tipo di AWS::Lambda::EventSourceMapping
risorsa. 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 GetEventSourceMappingo in una chiamata DeleteEventSourceMappingAPI, devi 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 chiamate DeleteEventSourceMappingAPI se la funzione non utilizza il filtro degli eventi. CreateEventSourceMappingUpdateEventSourceMapping 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 GetEventSourceMappingAPI se disponi delle kms:Decrypt
autorizzazioni per la chiave KMS corretta.
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 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 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 |
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.