Formato e utilizzo del contesto degli eventi
Nota
A partire dal 7 novembre 2025, Lambda per oggetti S3 sarà disponibile solo per i clienti esistenti che attualmente utilizzano il servizio e per alcuni partner della Rete dei partner AWS (APN). Se desideri utilizzare il servizio, registrati prima del 7 novembre 2025. Per funzionalità simili a Lambda per oggetti S3, consulta Modifica della disponibilità di Lambda per oggetti Amazon S3.
Amazon S3 Object Lambda fornisce il contesto della richiesta che viene fatta se passata alla funzione AWS Lambda. Il risultato è illustrato nello screenshot seguente. Le descrizioni dei campi sono riportate dopo l'esempio.
{ "xAmzRequestId": "requestId", "getObjectContext": { "inputS3Url": "https://my-s3-ap-111122223333.s3-accesspoint.us-east-1.amazonaws.com/example?X-Amz-Security-Token=<snip>", "outputRoute": "io-use1-001", "outputToken": "OutputToken" }, "configuration": { "accessPointArn": "arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/example-object-lambda-ap", "supportingAccessPointArn": "arn:aws:s3:us-east-1:111122223333:accesspoint/example-ap", "payload": "{}" }, "userRequest": { "url": "https://object-lambda-111122223333.s3-object-lambda.us-east-1.amazonaws.com/example", "headers": { "Host": "object-lambda-111122223333.s3-object-lambda.us-east-1.amazonaws.com", "Accept-Encoding": "identity", "X-Amz-Content-SHA256": "e3b0c44298fc1example" } }, "userIdentity": { "type": "AssumedRole", "principalId": "principalId", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/example", "accountId": "111122223333", "accessKeyId": "accessKeyId", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "Wed Mar 10 23:41:52 UTC 2021" }, "sessionIssuer": { "type": "Role", "principalId": "principalId", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" } } }, "protocolVersion": "1.00" }
I seguenti campi sono inclusi nella richiesta:
-
xAmzRequestId: l'ID della richiesta di Amazon S3 per questa richiesta. Si consiglia di registrare questo valore per facilitare il debug. -
getObjectContext: i dettagli di input e output per le connessioni ad Amazon S3 e S3 Object Lambda.-
inputS3Url: un URL prefirmato che può essere utilizzato per recuperare l'oggetto originale da Amazon S3. L'URL viene firmato utilizzando l'identità del chiamante originale e quando viene utilizzato l'URL vengono applicate le autorizzazioni dell'utente associato. Se nell'URL sono presenti intestazioni firmate, la funzione Lambda deve includerle nella chiamata ad Amazon S3, ad eccezione dell'intestazioneHost. -
outputRoute– Un token di routing che viene aggiunto all'URL di S3 Object Lambda quando la funzione Lambda richiamaWriteGetObjectResponse. -
outputToken: un token opaco utilizzato da S3 Object Lambda per abbinare la chiamataWriteGetObjectResponseal chiamante originale.
-
-
configuration: informazioni di configurazione sul punto di accesso Lambda per oggetti.-
accessPointArn: il nome della risorsa Amazon (ARN) del punto di accesso Lambda per oggetti che ha ricevuto questa richiesta. -
supportingAccessPointArn: l'ARN del punto di accesso di supporto specificato nella configurazione del punto di accesso Lambda per oggetti. -
payload: dati personalizzati applicati alla configurazione del punto di accesso Lambda per oggetti. S3 Object Lambda tratta questi dati come una stringa opaca, quindi potrebbe essere necessario decodificarli prima dell'utilizzo.
-
-
userRequest: informazioni sulla chiamata originale a S3 Object Lambda.-
url: l'URL decodificato della richiesta come ricevuto da S3 Object Lambda, esclusi eventuali parametri di query relativi all'autorizzazione. -
headers: una mappa di stringa alle stringhe contenenti le intestazioni HTTP e i relativi valori dalla chiamata originale, escluse eventuali intestazioni relative all'autorizzazione. Se la stessa intestazione viene visualizzata più volte, i valori di ogni istanza della stessa intestazione vengono combinati in un elenco delimitato da virgole. Il formato maiuscolo/minuscolo delle intestazioni originali viene mantenuto in questa mappa.
-
-
userIdentity: dettagli sull'identità che ha effettuato la chiamata a S3 Object Lambda. Per ulteriori informazioni, consulta Registrazione di eventi di dati per i percorsi nella Guida per l'utente di AWS CloudTrail.-
type: il tipo di identità. -
accountId‐ L'Account AWS a cui appartiene l'identità. -
userName: il nome descrittivo dell'identità che ha effettuato la chiamata. -
principalId: l'identificatore univoco per l'identità che ha effettuato la chiamata. -
arn: l'ARN del principale che ha effettuato la chiamata. L'ultima sezione dell'ARN contiene l'utente o il ruolo che ha effettuato la chiamata. -
sessionContext: se la richiesta è stata effettuata con le credenziali di sicurezza temporanee, questo elemento fornisce informazioni sulla sessione creata per tali credenziali. -
invokedBy: il nome del Servizio AWS che ha effettuato la richiesta, ad esempio Amazon EC2 Auto Scaling o AWS Elastic Beanstalk. -
sessionIssuer: se la richiesta è stata effettuata con le credenziali di sicurezza temporanee, questo elemento fornisce informazioni su come sono state ottenute tali credenziali.
-
-
protocolVersion: l'ID versione del contesto fornito. Il formato di questo campo è{Major Version}.{Minor Version}. I numeri di versione secondari sono sempre numeri a due cifre. Qualsiasi rimozione o modifica alla semantica di un campo necessita un aumento della versione principale e richiede l'opt-in attivo. Amazon S3 può aggiungere nuovi campi in qualsiasi momento e in quel punto si potrebbe riscontrare un bump di versione minore. A causa della natura delle implementazioni software, più versioni secondarie potrebbero essere visualizzati in uso contemporaneamente.