Formato e uso de contexto de evento
O Amazon S3 Object Lambda fornece contexto sobre a solicitação que está sendo feita no evento passado para a função AWS Lambda. Veja a seguir um exemplo de solicitação. As descrições dos campos são incluídas após o exemplo.
{ "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" }
Os seguintes arquivos estão incluídos na solicitação:
-
xAmzRequestId
: o ID da solicitação do Amazon S3 para essa solicitação. Recomendamos que você registre em log esse valor para ajudar na depuração. -
getObjectContext
: os detalhes de entrada e saída para conexões com o Amazon S3 e o S3 Object Lambda.-
inputS3Url
: um URL pré-designado que pode ser usado para buscar o objeto original do Amazon S3. O URL é assinado usando a identidade do autor da chamada original, e as permissões desse usuário serão aplicadas quando o URL for usado. Se houver cabeçalhos assinados no URL, a função do Lambda deverá incluí-los na chamada para o Amazon S3, exceto para o cabeçalhoHost
. -
outputRoute
: um token de roteamento que é adicionado ao URL do S3 Object Lambda quando a função do Lambda chamaWriteGetObjectResponse
. -
outputToken
: um token opaco usado pelo S3 Object Lambda para corresponder a chamada deWriteGetObjectResponse
com o autor da chamada original.
-
-
configuration
: informações de configuração sobre o ponto de acesso do Object Lambda.-
accessPointArn
: o nome do recurso da Amazon (ARN) do ponto de acesso do Object Lambda que recebeu essa solicitação. -
supportingAccessPointArn
: o ARN do ponto de acesso de suporte especificado na configuração do ponto de acesso do Object Lambda. -
payload
: dados personalizados que são aplicados à configuração do ponto de acesso do Object Lambda. O S3 Object Lambda trata esses dados como uma string opaca, portanto, ela pode precisar ser decodificada antes do uso.
-
-
userRequest
: informações sobre a chamada original para o S3 Object Lambda.-
url
: o URL decodificado da solicitação, conforme recebido pelo S3 Object Lambda, excluindo qualquer parâmetro de consulta relacionado à autorização. -
headers
: um mapa de string para strings contendo os cabeçalhos HTTP e seus valores da chamada original, excluindo qualquer cabeçalho relacionado à autorização. Se o mesmo cabeçalho aparecer várias vezes, os valores de cada instância do mesmo cabeçalho serão combinados em uma lista delimitada por vírgulas. O caso dos cabeçalhos originais é retido neste mapa.
-
-
userIdentity
: detalhes sobre a identidade que fez a chamada para o S3 Object Lambda. Para obter mais informações, consulte Registro eventos de dados em logs para trilhas no Guia do usuário do AWS CloudTrail.-
type
: o tipo da identidade. -
accountId
: a Conta da AWS à qual a identidade pertence. -
userName
: o nome amigável da identidade que fez a chamada. -
principalId
: o identificador exclusivo da identidade que fez a chamada. -
arn
: o ARN da entidade principal que fez a chamada. A última seção do ARN contém o usuário ou função que fez a chamada. -
sessionContext
: se a solicitação foi feita com credenciais de segurança temporárias, esse elemento fornece informações sobre a sessão que foi criada para essas credenciais. -
invokedBy
: o nome do serviço da AWS service (Serviço da AWS) que fez a solicitação, como o Amazon EC2 Auto Scaling ou AWS Elastic Beanstalk. -
sessionIssuer
: se a solicitação foi feita com credenciais de segurança temporárias, esse elemento fornece informações sobre como as credenciais foram obtidas.
-
-
protocolVersion
: o ID da versão do contexto fornecido. O formato desse campo é{Major Version}.{Minor Version}
. Os números de versão menores são sempre números de dois dígitos. Qualquer remoção ou alteração na semântica de um campo exigirá o aumento da versão principal e adesão ativa. O Amazon S3 pode adicionar novos campos a qualquer momento, no qual você pode experimentar um aumento da versão secundária. Devido à natureza das implementações de software, é possível que você veja várias versões secundárias em uso ao mesmo tempo.