

# Criar pontos de acesso do Object Lambda
<a name="olap-create"></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).

Um ponto de acesso do Object Lambda está associado exatamente a um único ponto de acesso padrão, que você especifica durante a criação. Para criar um ponto de acesso do Object Lambda, você precisa dos seguintes recursos:
+ **Um ponto de acesso do S3 padrão.** Quando você trabalha com pontos de acesso do Object Lambda, esse ponto de acesso padrão é conhecido como *ponto de acesso de suporte* e está anexado a um bucket do S3 ou a um volume do Amazon FSx para OpenZFS. Para obter informações sobre a criação de pontos de acesso padrão, consulte [Criar um ponto de acesso](creating-access-points.md).
+ **Uma função do AWS Lambda.** Você pode criar sua própria função do Lambda ou usar uma função pré-criada. Para obter mais informações sobre como criar funções do Lambda, consulte [Escrever funções do Lambda para pontos de acesso do S3 Object Lambda](olap-writing-lambda.md). Para obter mais informações sobre funções pré-construídas, consulte [Uso de funções do Lambda criadas pela AWS](olap-examples.md).
+ **(Opcional) Uma política do AWS Identity and Access Management (IAM).** Os pontos de acesso do Amazon S3 são compatíveis com políticas de recursos do IAM que você pode usar para controlar o uso do ponto de acesso por recurso, usuário ou outras condições. Para obter mais informações sobre como criar essas políticas, consulte [Configurar políticas do IAM para pontos de acesso do Object Lambda](olap-policies.md).

As seções a seguir descrevem como criar um ponto de acesso do Object Lambda usando:
+ A Console de gerenciamento da AWS
+ A AWS Command Line Interface (AWS CLI)
+ Um modelo do AWS CloudFormation
+ O AWS Cloud Development Kit (AWS CDK)

Para obter informações sobre como criar um ponto de acesso do Object Lambda usando a API REST, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) na *Referência de API do Amazon Simple Storage Service*.

## Criar um ponto de acesso do Object Lambda
<a name="create-olap"></a>

Use um dos procedimentos a seguir para criar o ponto de acesso do Object Lambda. 

### Usar o console do S3
<a name="olap-create-console"></a>

**Para criar um ponto de acesso do Object Lambda usando o console**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Na barra de navegação, escolha o nome da Região da AWS exibida no momento. Em seguida, escolha a região para a qual você deseja mudar. 

1. No painel de navegação à esquerda, escolha **Object Lambda access points** (Pontos de acesso do Object Lambda).

1. Na página **Object Lambda Access Points** (Pontos de acesso do Object Lambda), escolha **Create Object Lambda Access Point** (Criar ponto de acesso do Object Lambda).

1. Em **Object Lambda Access Point name** (Nome do ponto de acesso do Object Lambda), insira o nome que deseja usar para o ponto de acesso. 

   Tal como acontece com pontos de acesso padrão, existem regras para nomeação de pontos de acesso do Object Lambda. Para obter mais informações, consulte [Regras de nomenclatura para pontos de acesso](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. Para **Supporting Access Point (Ponto de acesso de suporte)**, insira ou navegue até o ponto de acesso padrão que você deseja usar. O ponto de acesso deve estar na mesma Região da AWS que os objetos que você deseja transformar. Para obter informações sobre a criação de pontos de acesso padrão, consulte [Criar um ponto de acesso](creating-access-points.md).

1. Em **Configuração de transformação**, você pode adicionar uma função que transforma os dados para o ponto de acesso do Object Lambda. Execute um destes procedimentos:
   + Se você já tem uma função do AWS Lambda em sua conta, pode escolhê-la em **Invoke Lambda function** (Invocar função do Lambda). Aqui você pode inserir o nome do recurso da Amazon (ARN) de uma função do Lambda em sua Conta da AWS ou escolher uma função do Lambda no menu suspenso.
   + Se você quiser usar uma função integrada à AWS, escolha o nome da função em **Função criada pela AWS** e selecione **Criar função do Lambda**. Isso levará você ao console do Lambda, onde poderá implantar uma função integrada à sua Conta da AWS. Para obter mais informações sobre funções integradas, consulte [Uso de funções do Lambda criadas pela AWS](olap-examples.md).

   Em **S3 APIs** (APIs do S3), escolha uma ou mais operações de API para invocar. Para cada API selecionada, você deve especificar uma função do Lambda para invocar. 

1. (Opcional) Em **Payload** (Carga útil), adicione o texto JSON que você quer fornecer para a função do Lambda como entrada. Você pode configurar cargas com parâmetros diferentes para pontos de acesso do Object Lambda diferentes que invocam a mesma função do Lambda, estendendo, assim, a flexibilidade da função do Lambda.
**Importante**  
Ao usar os pontos de acesso do Object Lambda, verifique se a carga útil não contém informações sigilosas.

1. (Opcional) Em **Range and part number** (Intervalo e número de peça), você deve habilitar essa opção a fim processar solicitações `GET` e `HEAD` com cabeçalhos de intervalo e número de peça. Habilitar essa opção confirma que sua função do Lambda é capaz de reconhecer e processar essas solicitações. Para obter mais informações sobre cabeçalhos de intervalo e números de peça, consulte [Trabalhar com cabeçalhos Range e partNumber](range-get-olap.md).

1. (Opcional) Em **Métricas de solicitação**, escolha **Ativar** ou **Desativar** para adicionar o monitoramento do Amazon S3 ao ponto de acesso do Object Lambda. As métricas de solicitação são cobradas na taxa padrão do Amazon CloudWatch.

1. (Opcional) Em **Object Lambda Access Point policy** (Política de ponto de acesso do Object Lambda), defina uma política de recursos. As políticas de recursos concedem permissões para o ponto de acesso do Object Lambda especificado e podem controlar o uso do ponto de acesso por recurso, usuário ou outras condições. Para obter mais informações sobre as políticas de recursos de ponto de acesso do Object Lambda, consulte [Configurar políticas do IAM para pontos de acesso do Object Lambda](olap-policies.md).

1. Em **Block Public Access settings for this Object Lambda Access Point** (Configurações de bloqueio de acesso público para este ponto de acesso do Object Lambda), selecione as configurações de bloqueio de acesso público que você deseja aplicar. Todas as configurações de bloqueio de acesso público são habilitadas por padrão para novos pontos de acesso do Object Lambda, e recomendamos que você deixe as configurações padrão habilitadas. Atualmente, o Amazon S3 não oferece suporte à alteração das configurações de bloqueio de acesso público a pontos de acesso do Object Lambda após a criação de pontos de acesso do Object Lambda.

   Para obter mais informações sobre como usar o bloqueio de acesso público do Amazon S3, consulte [Gerenciar o acesso público a pontos de acesso para buckets de uso geral](access-points-bpa-settings.md).

1. Escolha **Create Object Lambda Access Point** (Criar ponto de acesso do Object Lambda).

### Como usar o AWS CLI
<a name="olap-create-cli"></a>

**Para criar um ponto de acesso do Object Lambda usando um modelo do AWS CloudFormation**
**nota**  
Para usar os comandos a seguir, substitua `user input placeholders` por suas próprias informações.

1. Baixe o pacote de implantação da função `s3objectlambda_deployment_package.zip` do AWS Lambda em [S3 Object Lambda default configuration](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) (Configuração padrão do S3 Object Lambda).

1. Execute o comando `put-object` a seguir para fazer upload do pacote em um bucket do Amazon S3.

   ```
   aws s3api put-object --bucket Amazon S3 bucket name --key s3objectlambda_deployment_package.zip --body release/s3objectlambda_deployment_package.zip
   ```

1. Baixe o modelo `s3objectlambda_defaultconfig.yaml` do AWS CloudFormation em [S3 Object Lambda default configuration](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) (Configuração padrão do S3 Object Lambda).

1. Execute o comando `deploy` a seguir para implantar o modelo em sua Conta da AWS.

   ```
   aws cloudformation deploy --template-file s3objectlambda_defaultconfig.yaml \
    --stack-name CloudFormation stack name \ 
    --parameter-overrides ObjectLambdaAccessPointName=Object Lambda Access Point name \
     SupportingAccessPointName=Amazon S3 access point S3BucketName=Amazon S3 bucket \
     LambdaFunctionS3BucketName=Amazon S3 bucket containing your Lambda package \ 
     LambdaFunctionS3Key=Lambda object key LambdaFunctionS3ObjectVersion=Lambda object version \ 
     LambdaFunctionRuntime=Lambda function runtime --capabilities capability_IAM
   ```

Você pode configurar esse modelo do AWS CloudFormation para invocar o Lambda para as operações de API `GET`, `HEAD` e `LIST`. Para obter mais informações sobre como modificar a configuração padrão do modelo, consulte [Automatizar a configuração do S3 Object Lambda com um modelo do CloudFormation](olap-using-cfn-template.md).<a name="olap-create-cli-specific"></a>

**Para criar um ponto de acesso do Object Lambda usando a AWS CLI**
**nota**  
Para usar os comandos a seguir, substitua `user input placeholders` por suas próprias informações.

O exemplo a seguir cria um ponto de acesso do Object Lambda chamado *`my-object-lambda-ap`* para o bucket *`amzn-s3-demo-bucket1`* na conta *`111122223333`*. Esse exemplo pressupõe que um ponto de acesso padrão denominado *`example-ap`* já tenha sido criado. Para obter informações sobre como criar um ponto de acesso padrão, consulte [Criar um ponto de acesso](creating-access-points.md).

Este exemplo usa a função pré-criada `decompress` da AWS. Para obter mais informações sobre funções pré-construídas, consulte [Uso de funções do Lambda criadas pela AWS](olap-examples.md).

1. Crie um bucket. Neste exemplo, usaremos *`amzn-s3-demo-bucket1`*. Para obter mais informações sobre a criação de buckets, consulte [Criar um bucket de uso geral](create-bucket-overview.md).

1. Crie um ponto de acesso padrão e anexe-o ao seu bucket. Neste exemplo, usaremos *`example-ap`*. Para obter informações sobre a criação de pontos de acesso padrão, consulte [Criar um ponto de acesso](creating-access-points.md).

1. Execute um destes procedimentos: 
   + Crie na conta uma função do Lambda que você deseja usar para transformar o objeto do Simple Storage Service (Amazon S3). Para obter mais informações sobre como criar funções do Lambda, consulte [Escrever funções do Lambda para pontos de acesso do S3 Object Lambda](olap-writing-lambda.md). Para usar sua função personalizada com a AWS CLI, consulte [Como usar o Lambda com a AWS CLI](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html) no *Guia do desenvolvedor do AWS Lambda*.
   + Use uma função do Lambda pré-criada pela AWS. Para obter mais informações sobre funções pré-construídas, consulte [Uso de funções do Lambda criadas pela AWS](olap-examples.md).

1. Crie um arquivo de configuração JSON chamado `my-olap-configuration.json`. Nessa configuração, forneça o ponto de acesso de suporte e o nome do recurso da Amazon (ARN) para a função do Lambda que você criou nas etapas anteriores ou o ARN da função pré-criada que você está usando.  
**Example**  

   

   ```
   {
       "SupportingAccessPoint" : "arn:aws:s3:us-east-1:111122223333:accesspoint/example-ap",
       "TransformationConfigurations": [{
           "Actions" : ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
           "ContentTransformation" : {
               "AwsLambda": {
                   "FunctionPayload" : "{\"compressionType\":\"gzip\"}",
                   "FunctionArn" : "arn:aws:lambda:us-east-1:111122223333:function/compress"
               }
           }
       }]
   }
   ```

1. Execute o comando `create-access-point-for-object-lambda` para criar o ponto de acesso do Object Lambda.

   ```
   aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --configuration file://my-olap-configuration.json
   ```

1. (Opcional) Crie um arquivo de política JSON chamado `my-olap-policy.json`.

   Adicionar uma política de recursos de ponto de acesso do Object Lambda pode controlar o uso do ponto de acesso por recurso, usuário ou outras condições. Essa política de recursos concede a permissão `GetObject` para a conta *`444455556666`* ao ponto de acesso do Object Lambda especificado.  
**Example**  

   

   ```
   {
       "Version": "2008-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Grant account 444455556666 GetObject access",
               "Effect": "Allow",
               "Action": "s3-object-lambda:GetObject",
               "Principal": {
                   "AWS": "arn:aws:iam::444455556666:root"
               },
               "Resource": "your-object-lambda-access-point-arn"
           }
       ]
   }
   ```

1. (Opcional) Execute o comando `put-access-point-policy-for-object-lambda` para definir sua política de recursos.

   ```
   aws s3control put-access-point-policy-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --policy file://my-olap-policy.json
   ```

1. (Opcional) Especifique uma carga útil.

   Uma carga útil é um JSON opcional que você pode fornecer à sua função do AWS Lambda como entrada. Você pode configurar cargas com parâmetros diferentes para pontos de acesso do Object Lambda diferentes que invocam a mesma função do Lambda, estendendo, assim, a flexibilidade da função do Lambda.

   A configuração do ponto de acesso do Object Lambda a seguir mostra uma carga útil com dois parâmetros.

   ```
   {
   	"SupportingAccessPoint": "AccessPointArn",
   	"CloudWatchMetricsEnabled": false,
   	"TransformationConfigurations": [{
   		"Actions": ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
   		"ContentTransformation": {
   			"AwsLambda": {
   				"FunctionArn": "FunctionArn",
   				"FunctionPayload": "{\"res-x\": \"100\",\"res-y\": \"100\"}"
   			}
   		}
   	}]
   }
   ```

   A configuração de ponto de acesso do Object Lambda a seguir mostra uma carga útil com um único parâmetro e com `GetObject-Range`, `GetObject-PartNumber`, `HeadObject-Range` e `HeadObject-PartNumber` ativados.

   ```
   {
       "SupportingAccessPoint":"AccessPointArn",
       "CloudWatchMetricsEnabled": false,
       "AllowedFeatures": ["GetObject-Range", "GetObject-PartNumber", "HeadObject-Range", "HeadObject-PartNumber"],        
       "TransformationConfigurations": [{
           "Action": ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
           "ContentTransformation": {
               "AwsLambda": {
                   "FunctionArn":"FunctionArn",
                   "FunctionPayload": "{\"compression-amount\": \"5\"}"
               }
           }
       }]
   }
   ```
**Importante**  
Ao usar os pontos de acesso do Object Lambda, verifique se a carga útil não contém informações sigilosas.

### Usar o console e o template do AWS CloudFormation
<a name="olap-create-cfn-console"></a>

É possível criar um ponto de acesso do Object Lambda usando a configuração padrão fornecida pelo Amazon S3. Você pode baixar um modelo do AWS CloudFormation e o código-fonte da função do Lambda do [repositório do GitHub](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) e implantar esses recursos para configurar um ponto de acesso funcional do Object Lambda.

Para obter informações sobre como modificar a configuração padrão do template do AWS CloudFormation, consulte [Automatizar a configuração do S3 Object Lambda com um modelo do CloudFormation](olap-using-cfn-template.md).

Para obter informações sobre como configurar pontos de acesso do Object Lambda usando o CloudFormation sem o modelo, consulte [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html) no *Guia do usuário do AWS CloudFormation*.

**Para carregar o pacote de implantação da função Lambda**

1. Baixe o pacote de implantação da função `s3objectlambda_deployment_package.zip` do AWS Lambda em [S3 Object Lambda default configuration](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) (Configuração padrão do S3 Object Lambda).

1. Faça upload do pacote em um bucket do Amazon S3.

**Para criar um ponto de acesso do Object Lambda usando o console do AWS CloudFormation**

1. Baixe o modelo `s3objectlambda_defaultconfig.yaml` do AWS CloudFormation em [S3 Object Lambda default configuration](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) (Configuração padrão do S3 Object Lambda).

1. Faça login no Console de Gerenciamento da AWS e abra o console do AWS CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Execute um destes procedimentos: 
   + Se você nunca usou o AWS CloudFormation, na página inicial do AWS CloudFormation, escolha **Create stack** (Criar pilha).
   + Se você já usou o AWS CloudFormation, no painel de navegação à esquerda, selecione **Stacks** (Pilhas). Selecione **Create stack** (Criar pilha), depois escolha **With new resources (standard)** (Com novos recursos (padrão)).

1. Em **Prerequisite - Prepare template** (Pré-requisito - Preparar template), escolha **Template is ready** (O template está pronto).

1. Em **Specify template** (Especificar modelo), escolha **Upload a template file** (Fazer upload de um arquivo de modelo) e faça upload de `s3objectlambda_defaultconfig.yaml`.

1. Escolha **Próximo**.

1. Na página **Specify stack details** (Especificar detalhes da pilha), insira um nome para a pilha.

1. Na seção **Parameters** (Parâmetros), especifique os parâmetros que são definidos no modelo da pilha:

   1. Em **CreateNewSupportingAccessPoint**, siga um destes procedimentos: 
      + Se você já tem um ponto de acesso de suporte para o bucket do S3 em que fez upload do modelo, escolha **false** (falso).
      + Se quiser criar um ponto de acesso para esse bucket, selecione **true** (verdadeiro). 

   1. Para **EnableCloudWatchMonitoring**, escolha **true** (verdadeiro) ou **false** (falso), dependendo se deseja habilitar as métricas e os alarmes de solicitação do Amazon CloudWatch. 

   1. (Opcional) Em **LambdaFunctionPayload**, adicione o texto JSON que você quer fornecer para a função do Lambda como entrada. Você pode configurar cargas com parâmetros diferentes para pontos de acesso do Object Lambda diferentes que invocam a mesma função do Lambda, estendendo, assim, a flexibilidade da função do Lambda.
**Importante**  
Ao usar os pontos de acesso do Object Lambda, verifique se a carga útil não contém informações sigilosas.

   1. Em **LambdaFunctionRuntime**, insira seu tempo de execução preferido para a função do Lambda. As opções disponíveis são , e `nodejs14.x`, `python3.9`, `java11`.

   1. Em **LambdaFunctionS3BucketName**, insira o nome do bucket do Amazon S3 para o qual você fez upload do pacote de implantação.

   1. Em **LambdaFunctionS3Key**, insira o nome da chave de objeto do Amazon S3 para o qual você fez upload do pacote de implantação.

   1. Em **LambdaFunctionS3Key**, insira a versão do objeto do Amazon S3 no qual você fez upload do pacote de implantação.

   1. Em **ObjectLambdaAccessPointName**, insira um nome para o ponto de acesso do Object Lambda.

   1. Em **S3BucketName**, insira o nome do bucket do Amazon S3 que será associado ao ponto de acesso do Object Lambda.

   1. Em **SupportingAccessPointName**, insira o nome de seu ponto de acesso de suporte.
**nota**  
Trata-se de um ponto de acesso associado ao bucket do Amazon S3 que você escolheu na etapa anterior. Caso não tenha nenhum ponto de acesso associado ao bucket do Amazon S3, você poderá configurar o modelo para criar um selecionando **true** (verdadeiro) em **CreateNewSupportingAccessPoint**.

1. Escolha **Avançar**.

1. Na página **Configurar opções de pilha**, selecione **Avançar**.

   Para obter mais informações sobre as configurações opcionais nesta página, consulte [Configurar opções de pilha do AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html) no *Guia do usuário do AWS CloudFormation*.

1. Na página **Review** (Revisão), escolha **Create stack** (Criar pilha).

### Como usar o AWS Cloud Development Kit (AWS CDK)
<a name="olap-create-cdk"></a>

Para obter mais informações sobre como configurar pontos de acesso do Object Lambda usando o AWS CDK, consulte [Biblioteca de estruturas do `AWS::S3ObjectLambda`](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3objectlambda-readme.html) na *Referência de API do AWS Cloud Development Kit (AWS CDK)*.

# Automatizar a configuração do S3 Object Lambda com um modelo do CloudFormation
<a name="olap-using-cfn-template"></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).

Você pode usar um modelo do AWS CloudFormation para criar rapidamente um ponto de acesso do Amazon S3 Object Lambda. O modelo do CloudFormation cria automaticamente recursos relevantes, configura perfis do AWS Identity and Access Management (IAM) e configura uma função do AWS Lambda que lida automaticamente com solicitações por meio do ponto de acesso do Object Lambda. Com o modelo do CloudFormation, é possível implementar práticas recomendadas, melhorar seu procedimento de segurança e reduzir erros causados por processos manuais.

Esse [repositório GitHub](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) contém o modelo do CloudFormation e o código-fonte da função do Lambda. Para obter instruções sobre como usar o modelo, consulte [Criar pontos de acesso do Object Lambda](olap-create.md).

A função do Lambda fornecida no modelo não executa nenhuma transformação. Em vez disso, ele retorna seus objetos como estão da fonte de dados subjacente. Você pode clonar a função e adicionar seu próprio código de transformação para modificar e processar dados à medida que eles são retornados a uma aplicação. Para obter mais informações sobre como modificar a função, consulte [Modificar a função Lambda](#modifying-lambda-function) e [Escrever funções do Lambda para pontos de acesso do S3 Object Lambda](olap-writing-lambda.md). 

## Modificar o template
<a name="modifying-cfn-template"></a>

**Criar um ponto de acesso de suporte**  
O S3 Object Lambda usa dois pontos de acesso: um ponto de acesso do Object Lambda e um ponto de acesso padrão do S3, chamado de *ponto de acesso de suporte*. Quando você faz uma solicitação a um ponto de acesso do Object Lambda, o S3 chama o Lambda em seu nome ou delega a solicitação ao ponto de acesso de suporte, de acordo com a configuração do S3 Object Lambda. É possível criar um ponto de acesso de suporte transmitindo o seguinte parâmetro como parte do comando `aws cloudformation deploy` ao implantar o modelo.

```
CreateNewSupportingAccessPoint=true
```

**Configurar uma carga útil de função**  
Você pode configurar uma carga útil para fornecer dados complementares à função Lambda transmitindo o seguinte parâmetro como parte do comando `aws cloudformation deploy` ao implantar o template.

```
LambdaFunctionPayload="format=json"
```

**Habilitar o monitoramento do Amazon CloudWatch**  
Você pode habilitar o monitoramento do CloudWatch transmitindo o seguinte parâmetro como parte do comando `aws cloudformation deploy` ao implantar o template.

```
EnableCloudWatchMonitoring=true
```

Esse parâmetro habilita o ponto de acesso do Object Lambda para métricas de solicitação do Amazon S3 e cria dois alarmes do CloudWatch para monitorar erros no lado do cliente e no lado do servidor.

**nota**  
O uso do Amazon CloudWatch incorrerá em custos adicionais. Para obter mais informações sobre métricas de solicitação do Amazon S3, consulte [Monitorar e registrar de pontos de acesso](access-points-monitoring-logging.md).  
Para obter detalhes sobre os preços, consulte [Definição de preço do CloudWatch](https://aws.amazon.com/cloudwatch/pricing/). 

**Configurar a simultaneidade provisionada**  
Para reduzir a latência, é possível configurar a simultaneidade provisionada para a função do Lambda com base no ponto de acesso do Object Lambda editando o modelo para incluir as seguintes linhas em `Resources`.

```
LambdaFunctionVersion:
      Type: AWS::Lambda::Version
      Properties:
        FunctionName: !Ref LambdaFunction
        ProvisionedConcurrencyConfig:
            ProvisionedConcurrentExecutions: Integer
```

**nota**  
Haverá cobranças adicionais pela simultaneidade de provisionamento. Para obter mais informações sobre simultaneidade provisionada, consulte [Gerenciar a simultaneidade provisionada do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) no *Guia do desenvolvedor do AWS Lambda*.  
Para obter detalhes de preço, consulte [Definição de preço do AWS Lambda](https://aws.amazon.com/lambda/pricing/).

## Modificar a função Lambda
<a name="modifying-lambda-function"></a>

**Alterar os valores do cabeçalho de uma solicitação `GetObject`**  
Por padrão, a função do Lambda encaminha todos os cabeçalhos, exceto `Content-Length` e `ETag`, da solicitação de URL pré-assinado ao cliente do `GetObject`. Com base em seu código de transformação na função Lambda, é possível escolher enviar novos valores de cabeçalho ao cliente do `GetObject`.

Você pode atualizar sua função do Lambda para enviar novos valores de cabeçalho, transmitindo-os na operação de API `WriteGetObjectResponse`.

Por exemplo, se a função Lambda traduzir texto em objetos do Amazon S3 para um idioma diferente, você poderá transmitir um novo valor no cabeçalho `Content-Language`. Faça isso modificando a função `writeResponse`, conforme mostrado abaixo:

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest
    },
    ...headers,
    ContentLanguage: 'my-new-language'
  }).promise();
}
```

Para obter uma lista completa dos cabeçalhos compatíveis, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) na *Referência da API do Amazon Simple Storage Service*.

**Retornar cabeçalhos de metadados**  
Você pode atualizar sua função do Lambda para enviar novos valores de cabeçalho, transmitindo-os na solicitação de operação de API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax).

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest,
      'my-new-header': 'my-new-value' 
    },
    ...headers
  }).promise();
}
```

**Retornar um novo código de status**  
É possível retornar um código de status personalizado ao cliente do `GetObject` transmitindo-o na solicitação de operação de API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax).

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest
    },
    ...headers,
    StatusCode: Integer
  }).promise();
}
```

Para obter uma lista completa dos códigos de status compatíveis, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) na *Referência da API do Amazon Simple Storage Service*.

**Aplicar os parâmetros `Range` e `partNumber` no objeto de origem**  
Por padrão, o ponto de acesso do Object Lambda criado pelo modelo do CloudFormation pode lidar com os parâmetros `Range` e `partNumber`. A função Lambda aplica o intervalo ou o número da parte solicitado ao objeto transformado. Para isso, a função precisa baixar o objeto inteiro e executar a transformação. Em alguns casos, os intervalos de objetos transformados podem mapear exatamente para seus intervalos de objetos de origem. Isso significa que solicitar o intervalo de bytes A–B no objeto de origem e executar a transformação poderá produzir o mesmo resultado que solicitar o objeto inteiro, executar a transformação e retornar o intervalo de bytes A–B no objeto transformado.

Nesses casos, é possível alterar a implementação da função Lambda para aplicar o intervalo ou o número da parte diretamente no objeto de origem. Essa abordagem reduz a latência geral da função e a memória necessárias. Para obter mais informações, consulte [Trabalhar com cabeçalhos Range e partNumber](range-get-olap.md).

**Desabilitar o tratamento de `Range` e `partNumber`**  
Por padrão, o ponto de acesso do Object Lambda criado pelo modelo do CloudFormation pode lidar com os parâmetros `Range` e `partNumber`. Se você não precisar desse comportamento, poderá desabilitá-lo removendo as seguintes linhas do modelo:

```
AllowedFeatures:
  - GetObject-Range
  - GetObject-PartNumber
  - HeadObject-Range 
  - HeadObject-PartNumber
```

**Transformar objetos grandes**  
Por padrão, a função Lambda processa todo o objeto na memória antes que ele possa começar a transmitir a resposta ao S3 Object Lambda. É possível modificar a função para transmitir a resposta à medida que ela executa a transformação. Isso ajuda a reduzir a latência de transformação e o tamanho da memória da função do Lambda. Para obter um exemplo de implementação, consulte o [Exemplo de conteúdo compactado de transmissão](olap-writing-lambda.md#olap-getobject-response).