Controlla quali eventi Lambda invia alla tua funzione - AWS Lambda

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.

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 messageIDeventSourceArn, 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 sono City 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)
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegliere il nome di una funzione per la creazione di una mappatura dell'origine evento.

  3. In Panoramica delle funzioni, scegliere Aggiungi trigger.

  4. 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.

  5. Espandere Additional settings (Impostazioni aggiuntive).

  6. 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.

  7. 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-arn arn: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)
  1. Aprire la pagina Funzioni della console Lambda.

  2. 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.

  3. Seleziona la casella di controllo accanto a Encrypt with Customer Managed KMS Key.

  4. 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:DescribeKeykms: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.AWS_region.amazonaws.com). Ciò consente a Lambda di decrittografare i dati con questa chiave. KMS

    • Per evitare la confusione tra diversi servizi, la policy chiave utilizza la aws:SourceArnchiave di condizione globale. Il valore corretto della aws: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 anche aws:lambda:EventSourceArn le chiavi aws: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:ViaServicecondition per limitare l'uso della KMS chiave solo alle richieste provenienti da Lambda. Il valore di questa chiave è il servizio Lambda regionale principal ()lambda.AWS_region.amazonaws.com. Di seguito è riportato un esempio di politica chiave che concede tutte le autorizzazioni pertinenti:

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-arn arn: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-arn arn: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.