Format et utilisation du contexte d'événement - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Format et utilisation du contexte d'événement

Amazon S3 Object Lambda fournit le contexte de la demande effectuée lors de l'événement transmis à votre AWS Lambda fonction. Voici un exemple de demande. Les descriptions des champs sont incluses après l'exemple.

{ "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" }

Les champs suivants sont inclus dans la demande :

  • xAmzRequestId – ID de demande Amazon S3 pour cette demande. Nous vous recommandons de consigner cette valeur pour faciliter le débogage.

  • getObjectContext – Détails d'entrée et de sortie pour les connexions à Amazon S3 et S3 Object Lambda.

    • inputS3Url— Un présigné URL qui peut être utilisé pour récupérer l'objet d'origine depuis Amazon S3. Le URL est signé en utilisant l'identité de l'appelant d'origine, et les autorisations de cet utilisateur s'appliqueront lors de URL son utilisation. Si le, la fonction Lambda contient des en-têtes signésURL, doit inclure ces en-têtes dans l'appel à Amazon S3, à l'exception de l'en-tête. Host

    • outputRoute— Un jeton de routage qui est ajouté à l'objet Lambda S3 URL lorsque la fonction Lambda est appelée. WriteGetObjectResponse

    • outputToken – Jeton opaque utilisé par S3 Object Lambda pour mettre en correspondance l'appel WriteGetObjectResponse avec l'appelant d'origine.

  • configuration : informations de configuration sur le point d'accès Object Lambda.

    • accessPointArn— Le nom de ressource Amazon (ARN) du point d'accès Object Lambda qui a reçu cette demande.

    • supportingAccessPointArn— Le point ARN d'accès compatible spécifié dans la configuration du point d'accès Object Lambda.

    • payload : données personnalisées qui sont appliquées à la configuration du point d'accès Object Lambda. S3 Object Lambda considère ces données comme une chaîne opaque. Dès lors, elles devront peut-être être décodées avant utilisation.

  • userRequest – Informations sur l'appel d'origine à S3 Object Lambda.

    • url— Le décodage URL de la demande telle qu'elle a été reçue par S3 Object Lambda, à l'exclusion de tout paramètre de requête lié à l'autorisation.

    • headers— Une carte entre une chaîne et des chaînes contenant HTTP les en-têtes et leurs valeurs de l'appel d'origine, à l'exclusion des en-têtes liés à l'autorisation. Si le même en-tête apparaît plusieurs fois, les valeurs de chaque instance du même en-tête sont combinées dans une liste délimitée par des virgules. Le cas des en-têtes d'origine est conservé dans cette carte.

  • userIdentity – Détails sur l'identité qui a adressé l'appel à S3 Object Lambda. Pour plus d'informations, veuillez consulter Consignation d'événements de données pour les journaux d'activité dans le Guide de l'utilisateur AWS CloudTrail .

    • type – Type d'identité.

    • accountId— Compte AWS À laquelle appartient l'identité.

    • userName – Nom descriptif de l'identité qui a réalisé l'appel.

    • principalId – Identifiant unique de l'entité qui a effectué l'appel.

    • arn— Celui ARN du directeur qui a passé l'appel. La dernière section ARN contient l'utilisateur ou le rôle qui a effectué l'appel.

    • sessionContext – Si la demande a été effectuée avec les autorisations de sécurité temporaires, cet élément fournit des informations sur la session qui a été créée pour ces autorisations.

    • invokedBy— Le nom de la personne à Service AWS l'origine de la demande, par exemple Amazon EC2 Auto Scaling ou AWS Elastic Beanstalk.

    • sessionIssuer – Si la demande a été effectuée avec des informations d'identification de sécurité temporaires, cet élément fournit des informations sur la façon dont les autorisations ont été obtenues.

  • protocolVersion – ID de version du contexte fourni. Le format de ce champ est {Major Version}.{Minor Version}. Les numéros de version mineure sont toujours des nombres à deux chiffres. Toute suppression ou modification de la sémantique d'un champ nécessite un changement de version majeur et une participation active. Simple Storage Service (Amazon S3) peut ajouter de nouveaux champs à tout moment, auquel cas vous risquez de rencontrer un changement de version mineure. En raison de la nature des déploiements logiciels, il est possible que plusieurs versions mineures soient utilisées simultanément.