

# Formato e uso de contexto de evento
<a name="olap-event-context"></a>

**nota**  
Desde 7 de novembro de 2025, o S3 Object Lambda está disponível somente para clientes existentes que estão usando o serviço no momento, bem como para parceiros selecionados da Rede de Parceiros da AWS (APN). Para recursos semelhantes ao S3 Object Lambda, saiba mais aqui: [Amazon S3 Object Lambda availability change](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

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çalho `Host`.
  + `outputRoute` – um token de roteamento que é adicionado ao URL do S3 Object Lambda quando a função do Lambda chama `WriteGetObjectResponse`.
  + `outputToken`: um token opaco usado pelo S3 Object Lambda para corresponder a chamada de `WriteGetObjectResponse` 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](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) 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.