

# Tutoriais do S3 Object Lambda
<a name="olap-tutorials"></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).

Os tutoriais a seguir apresentam procedimentos completos para algumas tarefas do S3 Object Lambda.

Com o S3 Object Lambda você pode adicionar seu próprio código para processar dados recuperados do S3 antes de retorná-los para uma aplicação. Cada um dos tutoriais a seguir modificará os dados à medida que forem recuperados do Amazon S3, sem alterar o objeto existente ou manter várias cópias dos dados. O primeiro tutorial explicará como adicionar uma função do AWS Lambda a uma solicitação GET do S3 para modificar um objeto recuperado do S3. O segundo tutorial demonstra como usar uma função do Lambda predefinida com o Amazon Comprehend para proteger informações de identificação pessoal (PII) recuperadas do S3 antes de retorná-las a uma aplicação. O terceiro tutorial usa o S3 Object Lambda para adicionar uma marca d'água a uma imagem à medida que ela é recuperada do Amazon S3.
+ [Tutorial: Como transformar dados para sua aplicação com o S3 Object Lambda](tutorial-s3-object-lambda-uppercase.md)
+ [Tutorial: Detectar e editar dados PII com o S3 Object Lambda e o Amazon Comprehend](tutorial-s3-object-lambda-redact-pii.md)
+ [Tutorial: Using S3 Object Lambda to dynamically watermark images as they are retrieved (Tutorial: Como usar o S3 Object Lambda para colocar marca d’água em imagens de maneira dinâmica à medida que são recuperadas](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/olap-tutorials.html)

# Tutorial: Como transformar dados para sua aplicação com o S3 Object Lambda
<a name="tutorial-s3-object-lambda-uppercase"></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).

Quando você armazena dados no Amazon S3, você pode compartilhá-los facilmente para usar várias aplicações. No entanto, cada aplicação pode ter requisitos de formato de dados exclusivos e pode precisar de modificação ou processamento de seus dados para um caso de uso específico. Por exemplo, um conjunto de dados criado por uma aplicação de comércio eletrônico pode incluir informações de identificação pessoal (PII). Quando os mesmos dados são processados para análise, essas PII não são necessárias e devem ser editadas. No entanto, se o mesmo conjunto de dados for usado para uma campanha de marketing, talvez seja necessário enriquecer os dados com detalhes adicionais, como informações do banco de dados de fidelidade do cliente.

Com o [S3 Object Lambda](https://aws.amazon.com/s3/features/object-lambda) você pode adicionar seu próprio código para processar dados recuperados do S3 antes de retorná-los para uma aplicação. É possível, especificamente, configurar uma função do AWS Lambda e anexá-la a um ponto de acesso do S3 Object Lambda. Quando uma aplicação envia [solicitações GET padrão do S3](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) por meio do ponto de acesso do S3 Object Lambda, a função do Lambda especificada é invocada para processar quaisquer dados recuperados da fonte de dados subjacente por meio do ponto de acesso de suporte do S3. Depois, o ponto de acesso do S3 Object Lambda retorna o resultado transformado de volta à aplicação. Você pode criar e executar suas próprias funções Lambda personalizadas, adaptando a transformação de dados do S3 Object Lambda ao seu caso de uso específico, tudo sem a necessidade de alterações em suas aplicações.

![\[Este é um diagrama de fluxo de trabalho do S3 Object Lambda.\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/images/ol-example-image-global.png)


**Objetivo**  
Neste tutorial, você aprende como adicionar código personalizado a solicitações GET padrão do S3 para modificar o objeto solicitado recuperado do S3 para que o objeto atenda às necessidades do cliente ou aplicação solicitante. Especificamente, você aprende a transformar todo o texto no objeto original armazenado no bucket do S3 em maiúsculas por meio do S3 Object Lambda. 

**nota**  
Este tutorial usa código Python para transformar os dados. Para ter exemplos de uso de outros AWS SDKs, consulte [Como transformar dados para sua aplicação com o S3 Object Lambda](https://docs.aws.amazon.com/code-library/latest/ug/lambda_example_cross_ServerlessS3DataTransformation_section.html) na Biblioteca de códigos de exemplo de AWS SDK. 

**Topics**
+ [Pré-requisitos](#ol-upper-prerequisites)
+ [Etapa 1: criar um bucket do S3](#ol-upper-step1)
+ [Etapa 2: fazer upload do arquivo para seu bucket do S3](#ol-upper-step2)
+ [Etapa 3: criar um ponto de acesso do S3](#ol-upper-step3)
+ [Etapa 4: Criar uma função Lambda](#ol-upper-step4)
+ [Etapa 5: configurar uma política do IAM para a função de execução da função Lambda](#ol-upper-step5)
+ [Etapa 6: criar um ponto de acesso do S3 Object Lambda](#ol-upper-step6)
+ [Etapa 7: exibir os dados transformados](#ol-upper-step7)
+ [Etapa 8: limpar](#ol-upper-step8)
+ [Próximas etapas](#ol-upper-next-steps)

## Pré-requisitos
<a name="ol-upper-prerequisites"></a>

Antes de começar este tutorial, você deve ter uma Conta da AWS na qual possa fazer login como um usuário do AWS Identity and Access Management (IAM) com permissões corretas. Você também deve instalar a versão 3.8 ou posterior do Python.

**Topics**
+ [Criar um usuário do IAM com permissões em sua Conta da AWS (console)](#ol-upper-prerequisites-account)
+ [Instale o Python 3.8 ou posterior em sua máquina local](#ol-upper-prerequisites-python)

### Criar um usuário do IAM com permissões em sua Conta da AWS (console)
<a name="ol-upper-prerequisites-account"></a>

Você pode criar um usuário do IAM para o tutorial. Para concluir este tutorial, o usuário do IAM deve anexar as seguintes políticas do IAM para acessar recursos da AWS e executar ações específicas. Para obter mais informações sobre como criar um usuário do IAM, consulte [Criar usuários do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) no *Guia do usuário do IAM*.

Seu usuário do IAM requer as seguintes políticas:
+ [AmazonS3FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor): concede permissões a todas as ações do Amazon S3, incluindo permissões para criar e usar um ponto de acesso do Object Lambda. 
+ [AWSLambda\$1FullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLambda_FullAccess$jsonEditor): concede permissões a todas as ações do Lambda. 
+ [IAMFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMFullAccess$jsonEditor): concede permissões a todas as ações do IAM. 
+ [IAMAccessAnalyzerReadOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMAccessAnalyzerReadOnlyAccess$jsonEditor): concede permissões para ler todas as informações de acesso fornecidas pelo IAM Access Analyzer. 
+ [CloudWatchLogsFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchLogsFullAccess$jsonEditor): concede acesso total ao CloudWatch Logs. 

**nota**  
Para simplificar, este tutorial cria e usa um usuário do IAM. Depois de concluir este tutorial, lembre-se de [Excluir o usuário do IAM](#ol-upper-step8-delete-user). Para uso em produção, recomendamos que você siga as [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*. Uma das práticas recomendadas exige que os usuários humanos usem a federação com um provedor de identidades para acessar a AWS usando credenciais temporárias. Outra prática recomendada é exigir que as workloads usem credenciais temporárias com perfis do IAM para acessar a AWS. Para saber como usar o Centro de Identidade do AWS IAM para criar usuários com credenciais temporárias, consulte [Getting started](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) (Conceitos básicos) no *Guia do usuário do Centro de Identidade do AWS IAM*.   
Este tutorial também usa políticas de acesso total gerenciadas pela AWS. Para uso em produção, recomendamos que você conceda apenas as permissões mínimas necessárias para seu caso de uso, de acordo com as [práticas recomendadas de segurança](security-best-practices.md#security-best-practices-prevent).

### Instale o Python 3.8 ou posterior em sua máquina local
<a name="ol-upper-prerequisites-python"></a>

Use o procedimento a seguir para instalar o Python 3.8 ou posterior em sua máquina local. Para obter instruções de instalação, consulte a página [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download) (Como baixar Python) no *Guia do iniciante do Python*.

1. Abra seu terminal local ou shell e execute o seguinte comando para determinar se o Python já está instalado e, em caso afirmativo, qual versão está instalada. 

   ```
   python --version
   ```

1. Se não tiver o Python 3.8 nem posterior, faça download do [instalador oficial](https://www.python.org/downloads/) do Python 3.8 ou posterior que é adequado para sua máquina local. 

1. Execute o instalador clicando duas vezes no arquivo baixado e siga as etapas para concluir a instalação. 

   Para os **Usuários do Windows**, escolha **Adicionar Python 3.X ao PATH** no assistente de instalação antes de escolher **Instalar agora**. 

1. Reinicie o terminal fechando-o e reabrindo-o. 

1. Execute o seguinte comando para verificar se o Python 3.8 ou posterior está instalado corretamente. 

   Para os **usuários do macOS**, execute este comando: 

   ```
   python3 --version
   ```

   Para **usuários do Windows**, execute este comando: 

   ```
   python --version
   ```

1. Execute o comando a seguir para verificar se o gerenciador de pacotes pip3 está instalado. Se você vir um número de versão pip e python 3.8 ou posterior na resposta do comando, isso significa que o gerenciador de pacotes pip3 está instalado com sucesso.

   ```
   pip --version
   ```

## Etapa 1: criar um bucket do S3
<a name="ol-upper-step1"></a>

Crie um bucket para armazenar os dados originais que você planeja transformar. 

**nota**  
Os pontos de acesso podem ser anexados a outra fonte de dados, como um volume do Amazon FSx para OpenZFS, mas este tutorial usa um ponto de acesso de suporte anexado a um bucket do S3.

**Para criar um bucket**

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Selecione **Create bucket (Criar bucket)**. 

   A página **Create bucket** (Criar bucket) é aberta.

1. Para **Bucket name** (Nome do bucket), insira um nome para o seu bucket (por exemplo, **tutorial-bucket**). 

   Para obter mais informações sobre como nomear buckets no Amazon S3, consulte [Regras de nomenclatura de buckets de uso geral](bucketnamingrules.md).

1. Em **Region** (Região), escolha a Região da AWS onde deseja que o bucket resida. 

   Para obter mais informações sobre a região do bucket, consulte [Visão geral dos buckets de uso geral](UsingBucket.md).

1. Para **Block Public Access settings for this bucket** (Configurações de acesso de bloqueio público para este bucket), mantenha as configurações padrão (**Block *all*public access** (Bloquear todo acesso público) está habilitado). 

   Recomendamos que você mantenha todas as configurações de acesso de bloqueio público ativadas, a menos que precise desativar uma ou mais delas para seu caso de uso. Para obter mais informações sobre como bloquear o acesso público, consulte [Bloquear o acesso público ao armazenamento do Amazon S3](access-control-block-public-access.md).

1. Mantenha as configurações restantes definidas conforme os padrões. 

   (Opcional) Se quiser definir configurações de bucket adicionais para o caso de uso específico, consulte [Criar um bucket de uso geral](create-bucket-overview.md).

1. Selecione **Criar bucket**.

## Etapa 2: fazer upload do arquivo para seu bucket do S3
<a name="ol-upper-step2"></a>

Carregue um arquivo de texto para o bucket do S3. Este arquivo de texto contém os dados originais que você transformará em maiúsculas posteriormente neste tutorial. 

Por exemplo, você pode carregar um `tutorial.txt` que contém o seguinte texto:

```
Amazon S3 Object Lambda Tutorial:
You can add your own code to process data retrieved from S3 before 
returning it to an application.
```

**Fazer upload de um arquivo para um bucket**

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista de **Buckets**, escolha o nome do bucket que você criou na [Etapa 1](#ol-upper-step1) (por exemplo, **tutorial-bucket**) para carregar seu arquivo.

1. Na guia **Objects** (Objetos) do bucket, escolha **Upload** (Fazer upload).

1. Na página **Upload** (Carregar), em **Files and folders** (Arquivos e pastas), escolha **Add files** (Adicionar arquivos).

1. Escolha um arquivo para carregar e, em seguida, escolha **Open** (Abrir). Por exemplo, você pode carregar o exemplo de arquivo `tutorial.txt`mencionado anteriormente.

1. Escolha **Upload** (Carregar).

## Etapa 3: criar um ponto de acesso do S3
<a name="ol-upper-step3"></a>

Para usar um ponto de acesso do S3 Object Lambda para acessar e transformar os dados originais, você deve criar um ponto de acesso do S3 e associá-lo ao bucket do S3 criado na [Etapa 1](#ol-upper-step1). O ponto de acesso deve estar na mesma Região da AWS que os objetos que você deseja transformar.

Mais adiante neste tutorial, você usará esse ponto de acesso como um ponto de acesso de suporte para o ponto de acesso do Object Lambda. 

**Como criar um ponto de acesso**

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. No painel de navegação, escolha **Access Points** (Pontos de acesso).

1. Na página **Access Points** (Pontos de acesso), escolha **Create access point** (Criar ponto de acesso).

1. No campo **Access point name** (Nome do ponto de acesso), insira o nome (por exemplo, **tutorial-access-point**) para o ponto de acesso.

   Para obter mais informações sobre nomenclatura de pontos de acesso, consulte [Regras de nomenclatura para pontos de acesso](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. No campo **Fonte de dados** insira o nome do bucket criado na [Etapa 1](#ol-upper-step1) (por exemplo, **tutorial-bucket**). O S3 anexa o ponto de acesso a este bucket. 

   (Opcional) Você pode escolher **Browse S3** (Procurar S3) para navegar e pesquisar buckets na sua conta. Se você escolher **Browse S3** (Procurar S3), selecione o bucket desejado e escolha **Choose path** (Escolher caminho) para preencher o campo **Bucket name** (Nome do bucket) com o nome do bucket.

1. Para **Network origin** (Origem de rede), escolha **Internet**. 

   Para obter mais informações sobre origens de rede para pontos de acesso, consulte [Criar pontos de acesso restritos a uma nuvem privada virtual](access-points-vpc.md).

1. Por padrão, todas as configurações de bloqueio de acesso público são habilitadas para seu ponto de acesso. Recomendamos manter a opção **Block *all* public access** (Bloquear todo o acesso público) ativada.

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

1. Para todas as outras configurações de ponto de acesso, mantenha as configurações padrão.

   (Opcional) Você pode modificar as configurações do ponto de acesso para dar suporte ao caso de uso. Para este tutorial, recomendamos manter as configurações padrão. 

   (Opcional) Se você precisar gerenciar o acesso ao seu ponto de acesso, você pode especificar uma política de ponto de acesso. Para obter mais informações, consulte [Exemplos de política para pontos de acesso](access-points-policies.md#access-points-policy-examples). 

1. Selecione **Create access point** (Criar ponto de acesso).

## Etapa 4: Criar uma função Lambda
<a name="ol-upper-step4"></a>

Para transformar dados originais, crie uma função do Lambda para usar com o ponto de acesso do S3 Object Lambda. 

**Topics**
+ [Gravar código de função Lambda e criar um pacote de implantação com um ambiente virtual](#ol-upper-step4-write-lambda)
+ [Crie uma função Lambda com uma função de execução (console)](#ol-upper-step4-create-function)
+ [Implante seu código de função Lambda com arquivos .zip e configure a função Lambda (console)](#ol-upper-step4-deploy-function)

### Gravar código de função Lambda e criar um pacote de implantação com um ambiente virtual
<a name="ol-upper-step4-write-lambda"></a>

1. Na sua máquina local, crie uma pasta com o nome da pasta `object-lambda` para que o ambiente virtual use posteriormente neste tutorial.

1. Na pasta `object-lambda`, crie um arquivo com uma função Lambda que altere todo o texto no objeto original para maiúsculas. Por exemplo, você pode usar a seguinte função gravada em Python. Salve esta função em um arquivo chamado `transform.py`. 

   ```
   import boto3
   import requests
   from botocore.config import Config
   
   # This function capitalizes all text in the original object
   def lambda_handler(event, context):
       object_context = event["getObjectContext"]
       # Get the presigned URL to fetch the requested original object 
       # from S3
       s3_url = object_context["inputS3Url"]
       # Extract the route and request token from the input context
       request_route = object_context["outputRoute"]
       request_token = object_context["outputToken"]
       
       # Get the original S3 object using the presigned URL
       response = requests.get(s3_url)
       original_object = response.content.decode("utf-8")
   
       # Transform all text in the original object to uppercase
       # You can replace it with your custom code based on your use case
       transformed_object = original_object.upper()
   
       # Write object back to S3 Object Lambda
       s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
       # The WriteGetObjectResponse API sends the transformed data
       # back to S3 Object Lambda and then to the user
       s3.write_get_object_response(
           Body=transformed_object,
           RequestRoute=request_route,
           RequestToken=request_token)
   
       # Exit the Lambda function: return the status code  
       return {'status_code': 200}
   ```
**nota**  
O exemplo anterior da função Lambda carrega todo o objeto solicitado na memória antes de transformá-lo e retorná-lo para o cliente. Como alternativa, você pode transmitir o objeto do S3 para evitar o carregamento do objeto inteiro na memória. Essa abordagem pode ser útil ao trabalhar com objetos grandes. Para obter mais informações sobre streaming de respostas com pontos de acesso do Object Lambda, consulte os exemplos de streaming em [Trabalhar com solicitações `GetObject` no Lambda](olap-writing-lambda.md#olap-getobject-response).

   Quando você está gravando uma função do Lambda para uso com um ponto de acesso do S3 Object Lambda, a função é baseada no contexto de evento de entrada que o S3 Object Lambda fornece à função do Lambda. O contexto do evento fornece informações sobre a solicitação que está sendo feita no evento passado do S3 Object Lambda para o Lambda. Ele contém os parâmetros que você usa para criar a função Lambda.

   Os campos usados para criar a função Lambda anterior são os seguintes: 

   O campo `getObjectContext` significa os detalhes de entrada e saída para conexões com o Amazon S3 e S3 Object Lambda. Ele tem os seguintes campos:
   + `inputS3Url`: um URL pré-assinado que a função Lambda pode usar para baixar o objeto original do ponto de acesso de suporte. Usando um URL pré-assinado, a função Lambda não precisa ter permissões de leitura do Amazon S3 para recuperar o objeto original e só pode acessar o objeto processado por cada chamada.
   + `outputRoute`: um token de roteamento que é adicionado ao URL do Object Lambda do S3 quando a função Lambda chama `WriteGetObjectResponse` para enviar de volta o objeto transformado.
   + `outputToken`: um token usado pelo S3 Object Lambda para corresponder à chamada `WriteGetObjectResponse` com o chamador original ao enviar de volta o objeto transformado.

   Para obter mais informações sobre todos os campos no contexto de evento, consulte [Formato e uso de contexto de evento](olap-event-context.md) e [Escrever funções do Lambda para pontos de acesso do S3 Object Lambda](olap-writing-lambda.md).

1. No terminal local, insira o seguinte comando para instalar o comando do pacote `virtualenv`:

   ```
   python -m pip install virtualenv
   ```

1. No terminal local, abra o `object-lambda` que você criou anteriormente e insira o seguinte comando para criar e inicializar um ambiente virtual chamado `venv`.

   ```
   python -m virtualenv venv
   ```

1. Para ativar o ambiente virtual, insira o seguinte comando para executar o arquivo `activate` da pasta do ambiente:

   Para os **usuários do macOS**, execute este comando:

   ```
   source venv/bin/activate
   ```

   Para **usuários do Windows**, execute este comando:

   ```
   .\venv\Scripts\activate
   ```

   Agora, seu prompt de comando é alterado para mostrar **(venv)**, indicando que o ambiente virtual está ativo.

1. Para instalar as bibliotecas necessárias, execute os seguintes comandos linha por linha no ambiente virtual do `venv`.

   Esses comandos instalam versões atualizadas das dependências de sua função Lambda `lambda_handler`. Essas dependências são o AWSSDK for Python (Boto3) e o módulo de solicitações.

   ```
   pip3 install boto3
   ```

   ```
   pip3 install requests
   ```

1. Para desativar o ambiente virtual, execute o seguinte comando:

   ```
   deactivate
   ```

1. Para criar um pacote de implantação com as bibliotecas instaladas como um arquivo `.zip` chamado `lambda.zip` na raiz do diretório , execute os comandos a seguir, linha por linha, em seu terminal local.
**dica**  
Os comandos a seguir talvez precisem ser ajustados para funcionar em seu ambiente específico. Por exemplo, uma biblioteca pode aparecer em `site-packages`ou em `dist-packages` e a primeira pasta pode ser `lib` ou `lib64`. Além disso, a pasta `python` pode ser nomeada com uma versão Python diferente. Use o comando `pip show` para localizar um pacote específico.

   Para **usuários do macOS**, execute estes comandos:

   ```
   cd venv/lib/python3.8/site-packages 
   ```

   ```
   zip -r ../../../../lambda.zip .
   ```

   Para **usuários do Windows**, execute estes comandos:

   ```
   cd .\venv\Lib\site-packages\ 
   ```

   ```
   powershell Compress-Archive * ../../../lambda.zip
   ```

   O último comando salva o pacote de implantação na raiz do diretório do `object-lambda`.

1. Adicione o arquivo de código de função `transform.py` à raiz do pacote de implantação.

   Para **usuários do macOS**, execute estes comandos:

   ```
   cd ../../../../ 
   ```

   ```
   zip -g lambda.zip transform.py
   ```

   Para **usuários do Windows**, execute estes comandos: 

   ```
   cd ..\..\..\
   ```

   ```
   powershell Compress-Archive -update transform.py lambda.zip
   ```

   Depois de concluir esta etapa, você deverá ter seguinte estrutura de diretórios:

   ```
   lambda.zip$
     │ transform.py
     │ __pycache__
     | boto3/
     │ certifi/
     │ pip/
     │ requests/
     ...
   ```

### Crie uma função Lambda com uma função de execução (console)
<a name="ol-upper-step4-create-function"></a>

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

   

1. No painel de navegação à esquerda, escolha **Functions** (Funções).

1. Escolha **Create function** (Criar função).

1. Escolha **Author from scratch** (Criar do zero).

1. Em **Basic information** (Informações básicas), faça o seguinte:

   1. Em **Function name** (Nome da função), insira **tutorial-object-lambda-function**.

   1. Para **Runtime** (Tempo de execução), escolha **Python 3.8** ou uma versão posterior.

1. Expandir a seção **Alterar função de execução padrão**. Em **Execution role** (Função de execução), selecione **Create a new role with basic Lambda permissions** (Criar uma função com permissões básicas do Lambda).

   Na [Etapa 5](#ol-upper-step5), posteriormente neste tutorial, você anexa o **AmazonS3ObjectLambdaExecutionRolePolicy** a essa função de execução do Lambda. 

1. Mantenha as configurações restantes definidas conforme os padrões.

1. Escolha **Create function** (Criar função).

### Implante seu código de função Lambda com arquivos .zip e configure a função Lambda (console)
<a name="ol-upper-step4-deploy-function"></a>

1. No console do AWS Lambda em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), escolha **Functions** (Funções) no painel de navegação à esquerda. 

1. Escolha a função do Lambda que você criou anteriormente (por exemplo, **tutorial-object-lambda-function**). 

1. Na página de detalhes da função Lambda, selecione a guia **Code** (Código). Na seção **Code Source** (Origem do código), escolha **Upload from** (Carregar de) e depois **arquivo .zip**.

1. Selecione **Upload** (Carregar) para selecionar seu arquivo `.zip` local.

1. Selecione o arquivo `lambda.zip` que você criou anteriormente e, em seguida, selecione **Open** (Abrir).

1. Escolha **Salvar**.

1. Na seção **Runtime settings** (Configurações do tempo de execução), escolha **Edit** (Editar). 

1. Na página **Edit runtime settings** (Editar configurações do tempo de execução), confirme se **Runtime** (Tempo de execução) foi definido como **Python 3.8** ou uma versão posterior. 

1. Para informar ao tempo de execução do Lambda qual método de handler em seu código de função Lambda chamar, insira **transform.lambda\$1handler** para **Handler**.

   Ao configurar uma função em Python, o valor da configuração do handler é o nome do arquivo e o nome do módulo do handler exportado, separados por um ponto. Por exemplo, `transform.lambda_handler` chama o método `lambda_handler` definido no arquivo `transform.py`.

1. Escolha **Salvar**.

1. (Opcional) Na página de detalhes da função Lambda, escolha a guia **Configuration** (Configuração). No painel de navegação à esquerda, selecione **General configuration** (Configuração geral) e, depois, escolha **Edit** (Editar). No campo **Timeout** (Tempo limite), insira **1** min **0** segundos. Mantenha as configurações restantes definidas, conforme os padrões e escolha **Save** (Salvar).

   **Timeout** (Tempo limite) é a quantidade de tempo durante a qual o Lambda permite que uma função seja executada entes de interrompê-la. O padrão é 3 segundos. A duração máxima para uma função Lambda usada pelo S3 Object Lambda é de 60 segundos. O preço é baseado na quantidade de memória configurada e na quantidade de tempo em que o código é executado.

## Etapa 5: configurar uma política do IAM para a função de execução da função Lambda
<a name="ol-upper-step5"></a>

Para habilitar sua função Lambda para fornecer dados personalizados e cabeçalhos de resposta para o chamador de `GetObject`, a função de execução da função Lambda precisa ter permissões do IAM para chamar a API `WriteGetObjectResponse`.

**Para anexar uma política do IAM à atribuição da função Lambda**



1. No console do AWS Lambda em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), escolha **Functions** (Funções) no painel de navegação à esquerda. 

1. Escolha a função que você criou na [Etapa 4](#ol-upper-step4) (por exemplo, **tutorial-object-lambda-function**).

1. Na página de detalhes da função Lambda, selecione a guia **Configuration** (Configuração) e, depois, escolha **Permission** (Permissões) no painel de navegação à esquerda. 

1. Em **Execution role** (Função de execução), escolha o link do **Role name** (Nome da função). O console do IAM é aberto. 

1. Na página **Summary** (Resumo) do console do IAM para o perfil de execução da função do Lambda, escolha a guia **Permissions** (Permissões). Depois, no menu **Add Permissions** (Adicionar permissões), escolha **Attach policies** (Anexar políticas).

1. Na página **Attach Permissions** (Anexar permissões), insira **AmazonS3ObjectLambdaExecutionRolePolicy** na caixa de pesquisa para filtrar a lista de políticas. Marque a caixa de seleção ao lado do nome da política **AmazonS3ObjectLambdaExecutionRolePolicy**. 

1. Escolha **Anexar políticas**. 

## Etapa 6: criar um ponto de acesso do S3 Object Lambda
<a name="ol-upper-step6"></a>

Um ponto de acesso do S3 Object Lambda fornece a flexibilidade de chamar uma função do Lambda diretamente de uma solicitação GET do S3 para que a função possa processar dados recuperados de um ponto de acesso do S3. Ao criar e configurar um ponto de acesso do S3 Object Lambda, você deve especificar a função do Lambda para chamar e fornecer o contexto do evento no formato JSON como parâmetros personalizados para o Lambda usar.

**Para criar um ponto de acesso do S3 Object Lambda**

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. 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. Para **Nome do Ponto de acesso Lambda do objeto**, informe o nome que você deseja usar para o ponto de acesso Lambda do objeto (por exemplo, **tutorial-object-lambda-accesspoint**). 

1. Para **Supporting Access Point** (Ponto de acesso de suporte), informe ou procure o ponto de acesso padrão criado na [Etapa 3](#ol-upper-step3) (por exemplo, **tutorial-access-point**) e, em seguida, escolha **Choose supporting Access Point** (Escolher ponto de acesso de suporte). 

1. Para recuperar objetos do bucket do S3 para que a função do Lambda processe, selecione **GetObject** em **S3 APIs** (APIs do S3).

1. Para **Invoke Lambda function** (Chamar função Lambda), você pode escolher qualquer uma das duas opções a seguir para este tutorial. 
   + Selecione **Escolha entre as funções da sua conta** e escolha a função do Lambda que você criou na [Etapa 4](#ol-upper-step4) (por exemplo, **tutorial-object-lambda-function**) da lista suspensa **Função do Lambda**.
   + Escolha **Enter ARN** (Inserir ARN) e depois informe o Nome do recurso da Amazon (ARN) da função Lambda que você criou na [Etapa 4](#ol-upper-step4).

1. Para **Lambda function version** (Versão da função Lambda), escolha **\$1LATEST** (a versão mais recente da função Lambda que você criou na [Etapa 4](#ol-upper-step4)).

1. (Opcional) Se precisar da função Lambda para reconhecer e processar solicitações GET com cabeçalhos de intervalo e número de peça, selecione **Lambda function supports requests using range** (A função Lambda suporta solicitações usando intervalo) e **Lambda function supports requests using part numbers** (A função Lambda suporta solicitações usando números de parte). Caso contrário, desmarque essas duas caixas de seleção.

   Para obter mais informações sobre como usar números de intervalo ou de parte com o S3 Object Lambda, consulte [Trabalhar com cabeçalhos Range e partNumber](range-get-olap.md).

1. (Opcional) Em **Payload - *optional*** (Carga útil - opcional), adicione um texto JSON para fornecer informações adicionais à sua função Lambda.

   Uma carga útil é um texto JSON opcional que você pode fornecer à sua função do Lambda como entrada para todas as chamadas provenientes de um ponto de acesso do S3 Object Lambda específico. Para personalizar os comportamentos de vários pontos de acesso Lambda do objeto que chamam a mesma função do Lambda, você pode configurar cargas úteis com diferentes parâmetros, estendendo, assim, a flexibilidade da função do Lambda.

   Para obter mais informações sobre carga útil, consulte [Formato e uso de contexto de evento](olap-event-context.md).

1. (Opcional) Em **Métricas de solicitação – *opcional***, escolha **Desabilitar** ou **Habilitar** 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. Para obter mais informações, consulte [Preço do CloudWatch.](https://aws.amazon.com/cloudwatch/pricing/)

1. Em **Object Lambda Access Point policy - *optional*** (Política do ponto de acesso do Object Lambda - opcional), mantenha a configuração padrão. 

   (Opcional) Você pode definir uma política de recursos. Essa política de recursos concede permissão da API `GetObject` para usar o ponto de acesso do Object Lambda especificado.

1. Mantenha as configurações restantes definidas conforme os padrões e escolha **Create Object Lambda Access Point** (Criar ponto de acesso do Object Lambda).

## Etapa 7: exibir os dados transformados
<a name="ol-upper-step7"></a>

Agora, o S3 Object Lambda está pronto para transformar seus dados para seu caso de uso. Neste tutorial, o S3 Object Lambda transforma todo o texto em seu objeto em maiúsculas.

**Topics**
+ [Exibir os dados transformados no ponto de acesso do S3 Object Lambda](#ol-upper-step7-check-data)
+ [Execute um script Python para imprimir os dados originais e transformados](#ol-upper-step7-python-print)

### Exibir os dados transformados no ponto de acesso do S3 Object Lambda
<a name="ol-upper-step7-check-data"></a>

Quando você solicita para recuperar um arquivo por meio do ponto de acesso do S3 Object Lambda, você faz uma chamada de API `GetObject` para o S3 Object Lambda. O S3 Object Lambda chama a função Lambda para transformar seus dados e, em seguida, retorna os dados transformados como a resposta à chamada de API de `GetObject` do S3 padrão.

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. No painel de navegação à esquerda, escolha **Object Lambda access points** (Pontos de acesso do Object Lambda).

1. Na página **Pontos de acesso do Object Lambda**, escolha o ponto de acesso do S3 Object Lambda que você criou na [Etapa 6](#ol-upper-step6) (por exemplo, **tutorial-object-lambda-accesspoint**).

1. Na guia **Objetos** do ponto de acesso do S3 Object Lambda, selecione o arquivo que tem o mesmo nome (por exemplo, `tutorial.txt`) daquele que você carregou no bucket do S3 na [Etapa 2](#ol-upper-step2). 

   Esse arquivo deve conter todos os dados transformados.

1. Para exibir os dados transformados, escolha **Open** (Abrir) ou **Download** (Baixar).

### Execute um script Python para imprimir os dados originais e transformados
<a name="ol-upper-step7-python-print"></a>

Você pode usar o S3 Object Lambda com suas aplicações existentes. Para fazer isso, atualize a configuração da aplicação para usar o novo ARN do ponto de acesso do S3 Object Lambda criado na [Etapa 6](#ol-upper-step6) para recuperar dados do S3.

O exemplo de script Python a seguir imprime os dados originais do bucket do S3 e os dados transformados do ponto de acesso do S3 Object Lambda. 

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. No painel de navegação à esquerda, escolha **Object Lambda access points** (Pontos de acesso do Object Lambda).

1. Na página **Pontos de acesso Lambda de objeto**, selecione o botão de opção à esquerda do ponto de acesso do S3 Object Lambda que você criou na [Etapa 6](#ol-upper-step6) (por exemplo, **tutorial-object-lambda-accesspoint**).

1. Escolha **Copy ARN** (Copiar ARN).

1. Salve o ARN para uso mais tarde.

1. Grave um script Python na máquina local para imprimir os dados originais (por exemplo, `tutorial.txt`) do bucket do S3 e os dados transformados (por exemplo, `tutorial.txt`) do ponto de acesso do S3 Object Lambda). Você pode usar o seguinte script de exemplo: 

   ```
   import boto3
   from botocore.config import Config
   
   s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
   
   def getObject(bucket, key):
       objectBody = s3.get_object(Bucket = bucket, Key = key)
       print(objectBody["Body"].read().decode("utf-8"))
       print("\n")
   
   print('Original object from the S3 bucket:')
   # Replace the two input parameters of getObject() below with 
   # the S3 bucket name that you created in Step 1 and 
   # the name of the file that you uploaded to the S3 bucket in Step 2
   getObject("tutorial-bucket", 
             "tutorial.txt")
   
   print('Object transformed by S3 Object Lambda:')
   # Replace the two input parameters of getObject() below with 
   # the ARN of your S3 Object Lambda Access Point that you saved earlier and
   # the name of the file with the transformed data (which in this case is
   # the same as the name of the file that you uploaded to the S3 bucket 
   # in Step 2)
   getObject("arn:aws:s3-object-lambda:us-west-2:111122223333:accesspoint/tutorial-object-lambda-accesspoint",
             "tutorial.txt")
   ```

1. Salve seu script Python com um nome personalizado (por exemplo, `tutorial_print.py`) na pasta (por exemplo, `object-lambda`) que você criou na [Etapa 4](#ol-upper-step4) na sua máquina local.

1. No terminal local, execute o seguinte comando da raiz do diretório (por exemplo, `object-lambda`) que você criou na [Etapa 4](#ol-upper-step4).

   ```
   python3 tutorial_print.py
   ```

   Você deve ver os dados originais e os dados transformados (todo o texto em maiúsculas) através do terminal. Por exemplo, você deve ver algo parecido com o texto a seguir.

   ```
   Original object from the S3 bucket:
   Amazon S3 Object Lambda Tutorial:
   You can add your own code to process data retrieved from S3 before 
   returning it to an application.
   
   Object transformed by S3 Object Lambda:
   AMAZON S3 OBJECT LAMBDA TUTORIAL:
   YOU CAN ADD YOUR OWN CODE TO PROCESS DATA RETRIEVED FROM S3 BEFORE 
   RETURNING IT TO AN APPLICATION.
   ```

## Etapa 8: limpar
<a name="ol-upper-step8"></a>

Se você transformou seus dados por meio do S3 Object Lambda apenas como um exercício de aprendizado, exclua os recursos da AWS que você alocou para que não haja mais encargos. 

**Topics**
+ [Excluir o ponto de acesso do Object Lambda](#ol-upper-step8-delete-olap)
+ [Exclua o ponto de acesso do S3](#ol-upper-step8-delete-ap)
+ [Exclua a função de execução de sua função Lambda](#ol-upper-step8-delete-lambda-role)
+ [Excluir a função Lambda](#ol-upper-step8-delete-lambda-function)
+ [Excluir o grupo de logs do CloudWatch](#ol-upper-step8-delete-cloudwatch)
+ [Exclua o arquivo original no bucket de origem do S3](#ol-upper-step8-delete-file)
+ [Exclua o bucket de origem do S3](#ol-upper-step8-delete-bucket)
+ [Excluir o usuário do IAM](#ol-upper-step8-delete-user)

### Excluir o ponto de acesso do Object Lambda
<a name="ol-upper-step8-delete-olap"></a>

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. No painel de navegação à esquerda, escolha **Object Lambda access points** (Pontos de acesso do Object Lambda).

1. Na página **Pontos de acesso Lambda de objeto**, selecione o botão de opção à esquerda do ponto de acesso do S3 Object Lambda que você criou na [Etapa 6](#ol-upper-step6) (por exemplo, **tutorial-object-lambda-accesspoint**).

1. Escolha **Excluir**.

1. Confirme se deseja excluir o ponto de acesso do Lambda, inserindo o nome no campo de texto exibido e escolha **Excluir**.

### Exclua o ponto de acesso do S3
<a name="ol-upper-step8-delete-ap"></a>

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. No painel de navegação, escolha **Access Points** (Pontos de acesso).

1. Navegue até o ponto de acesso que você criou na [Etapa 3](#ol-upper-step3) (por exemplo, **tutorial-access-point**) e escolha o botão de opção ao lado do nome do ponto de acesso.

1. Escolha **Excluir**.

1. Confirme se deseja excluir o ponto de acesso inserindo o nome no campo de texto exibido e escolha **Delete** (Excluir).

### Exclua a função de execução de sua função Lambda
<a name="ol-upper-step8-delete-lambda-role"></a>

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

1. No painel de navegação à esquerda, escolha **Functions** (Funções).

1. Escolha a função que você criou na [Etapa 4](#ol-upper-step4) (por exemplo, **tutorial-object-lambda-function**).

1. Na página de detalhes da função Lambda, selecione a guia **Configuration** (Configuração) e, depois, escolha **Permission** (Permissões) no painel de navegação à esquerda. 

1. Em **Execution role** (Função de execução), escolha o link do **Role name** (Nome da função). O console do IAM é aberto.

1. Na página **Summary** (Resumo) do console do IAM da função de execução da função Lambda, selecione **Delete role** (Excluir função).

1. Na caixa de diálogo **Delete role** (Excluir função), selecione **Yes, delete** (Sim, excluir).

### Excluir a função Lambda
<a name="ol-upper-step8-delete-lambda-function"></a>

1. No console do AWS Lambda em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), escolha **Functions** (Funções) no painel de navegação à esquerda. 

1. Marque a caixa de seleção à esquerda do nome da função que você criou na [Etapa 4](#ol-upper-step4) (por exemplo, **tutorial-object-lambda-function**).

1. Escolha **Ações** e, em seguida, escolha **Excluir**.

1. Na caixa de diálogo **Delete function** (Excluir função), escolha **Delete** (Excluir).

### Excluir o grupo de logs do CloudWatch
<a name="ol-upper-step8-delete-cloudwatch"></a>

1. Abra o console do CloudWatch em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação esquerdo, escolha **Log groups** (Grupos de log).

1. Localize o grupo de logs cujo nome termina com a função Lambda que você criou na [Etapa 4](#ol-upper-step4) (por exemplo, **tutorial-object-lambda-function**).

1. Marque a caixa de seleção à esquerda do nome do grupo de logs.

1. Escolha **Actions** (Ações) e **Delete log group(s)** (Excluir grupo(s) de log).

1. Na caixa de diálogo **Delete log group(s)** (Excluir grupo(s) de logs), escolha **Delete** (Excluir).

### Exclua o arquivo original no bucket de origem do S3
<a name="ol-upper-step8-delete-file"></a>

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Bucket name** (Nome do bucket), escolha o nome do bucket para o qual você carregou o arquivo original na [Etapa 2](#ol-upper-step2) (por exemplo, **tutorial-bucket**).

1. Marque a caixa de seleção à esquerda do nome do objeto que você deseja excluir (por exemplo, `tutorial.txt`).

1. Escolha **Excluir**.

1. Na página **Delete objects** (Excluir objetos) na seção **Permanently delete objects?** (Excluir objetos permanentemente?), confirme se deseja excluir este objeto informando **permanently delete** na caixa de texto.

1. Escolha **Delete objects** (Excluir objetos).

### Exclua o bucket de origem do S3
<a name="ol-upper-step8-delete-bucket"></a>

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista de **Buckets**, escolha o botão de opção ao lado do nome do bucket que você criou na [Etapa 1](#ol-upper-step1) (por exemplo, **tutorial-bucket**).

1. Escolha **Excluir**.

1. Na página **Delete bucket** (Excluir bucket), confirme se deseja excluir o bucket inserindo o nome do bucket no campo de texto e escolha **Delete bucket** (Excluir bucket).

### Excluir o usuário do IAM
<a name="ol-upper-step8-delete-user"></a>

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

1. No painel de navegação esquerdo, escolha **Users** (Usuários) e marque a caixa de seleção ao lado do nome do usuário que você deseja excluir.

1. Na parte superior da página, escolha **Delete** (Excluir).

1. Na caixa de diálogo **Delete *user name*?** (Excluir nome de usuário?), insira o nome de usuário no campo de entrada de texto para confirmar a exclusão do usuário. Escolha **Excluir**.

## Próximas etapas
<a name="ol-upper-next-steps"></a>

Após concluir este tutorial, você pode personalizar a função Lambda para o caso de uso para modificar os dados retornados por solicitações S3 GET padrão.

Veja a seguir uma lista de casos de uso comuns para o S3 Object Lambda:
+ Mascaramento de dados confidenciais para segurança e conformidade.

  Para obter mais informações, consulte [Tutorial: Detectar e editar dados PII com o S3 Object Lambda e o Amazon Comprehend](tutorial-s3-object-lambda-redact-pii.md).
+ Filtragem de determinadas linhas de dados para fornecer informações específicas.
+ Aumento de dados com informações de outros serviços ou bancos de dados.
+ Conversão entre formatos de dados, como conversão de XML em JSON para compatibilidade de aplicações.
+ Compactação ou descompactação de arquivos enquanto eles estão sendo baixados.
+ Redimensionamento e marcação d'água de imagens.

  Para obter mais informações, consulte [Tutorial: Using S3 Object Lambda to dynamically watermark images as they are retrieved](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/tutorial-s3-object-lambda-uppercase.html) (Tutorial: Como usar o S3 Object Lambda para colocar marca d’água em imagens de maneira dinâmica à medida que são recuperadas).
+ Implementação de regras de autorização personalizadas para acessar dados.

Para obter mais informações sobre o S3 Object Lambda, consulte [Transformar objetos com o S3 Object Lambda](transforming-objects.md).

# Tutorial: Detectar e editar dados PII com o S3 Object Lambda e o Amazon Comprehend
<a name="tutorial-s3-object-lambda-redact-pii"></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).

Quando você estiver usando o Amazon S3 para conjuntos de dados compartilhados para várias aplicações e os usuários acessarem, é importante restringir informações privilegiadas, como informações de identificação pessoal (PII) apenas para entidades autorizadas. Por exemplo, quando uma aplicação de marketing usa alguns dados contendo PII, ela pode precisar primeiro mascarar dados PII para atender aos requisitos de privacidade de dados. Além disso, quando um aplicação de análise usa um conjunto de dados de inventário de ordem de produção, talvez seja necessário primeiro editar as informações do cartão de crédito do cliente para evitar perdas não intencionais de dados.

Com o [S3 Object Lambda](https://aws.amazon.com/s3/features/object-lambda) e uma função do AWS Lambda pré-construída, habilitada pelo Amazon Comprehend, você pode proteger dados de PII recuperados do S3 antes de retorná-los para uma aplicação. Especificamente, é possível usar a [função do Lambda](https://aws.amazon.com/lambda/) pré-criada como função de edição e anexá-la a um ponto de acesso do S3 Object Lambda. Quando uma aplicação (por exemplo, uma aplicação de analytics) envia [solicitações GET padrão do S3](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), essas solicitações feitas por meio do ponto de acesso do S3 Object Lambda invocam a função do Lambda de edição predefinida para detectar e editar dados de PII recuperados de uma fonte de dados subjacente por meio de um ponto de acesso de suporte do S3. Depois, o ponto de acesso do S3 Object Lambda retorna o resultado editado de volta à aplicação.

![\[Este é um diagrama de fluxo de trabalho do S3 Object Lambda.\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/images/ol-comprehend-image-global.png)


No processo, a função do Lambda pré-criada usa o [Amazon Comprehend](https://aws.amazon.com/comprehend/), um serviço de processamento de linguagem natural (PNL) para registrar variações em como as PII são representadas, independentemente de como as PII existem no texto (por exemplo, numericamente ou uma combinação de palavras e números). O Amazon Comprehend pode até usar o contexto no texto para entender se um número de quatro dígitos é um PIN, os últimos quatro números de um número de Seguridade Social (SSN) ou um ano. O Amazon Comprehend processa qualquer arquivo de texto no formato UTF-8 e pode proteger as PII em escala sem afetar a precisão. Para obter mais informações, consulte [O que é Amazon Comprehend?](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) no *Guia do desenvolvedor do Amazon Comprehend*.

**Objetivo**  
Neste tutorial, você aprenderá a usar o S3 Object Lambda com a função Lambda pré-criada `ComprehendPiiRedactionS3ObjectLambda`. Essa função usa o Amazon Comprehend para detectar entidades de PII. Em seguida, ele edita essas entidades substituindo-as por asteriscos. Ao editar as PII, você oculta dados sigilosos, o que pode ajudar com segurança e conformidade.

Você também aprende a usar e configurar uma função AWS Lambda pré-criada no [AWS Serverless Application Repository](https://aws.amazon.com/serverless/serverlessrepo/) para trabalhar em conjunto com o S3 Object Lambda para facilitar a implantação. 

**Topics**
+ [Pré-requisitos: criar um usuário do IAM com permissões](#ol-pii-prerequisites)
+ [Etapa 1: criar um bucket do S3](#ol-pii-step1)
+ [Etapa 2: fazer upload do arquivo para seu bucket do S3](#ol-pii-step2)
+ [Etapa 3: criar um ponto de acesso do S3](#ol-pii-step3)
+ [Etapa 4: configurar e implantar uma função Lambda pré-construída](#ol-pii-step4)
+ [Etapa 5: criar um ponto de acesso do S3 Object Lambda](#ol-pii-step5)
+ [Etapa 6: usar o ponto de acesso do S3 Object Lambda para recuperar o arquivo editado](#ol-pii-step6)
+ [Etapa 7: limpar](#ol-pii-step7)
+ [Próximas etapas](#ol-pii-next-steps)

## Pré-requisitos: criar um usuário do IAM com permissões
<a name="ol-pii-prerequisites"></a>

Antes de iniciar este tutorial, você deve ter uma conta da AWS na qual possa fazer login como um usuário do AWS Identity and Access Management (usuário do IAM) com permissões corretas.

Você pode criar um usuário do IAM para o tutorial. Para concluir este tutorial, o usuário do IAM deve anexar as seguintes políticas do IAM para acessar recursos da AWS e executar ações específicas. 

**nota**  
Para simplificar, este tutorial cria e usa um usuário do IAM. Depois de concluir este tutorial, lembre-se de [Excluir o usuário do IAM](#ol-pii-step8-delete-user). Para uso em produção, recomendamos que você siga as [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*. Uma das práticas recomendadas exige que os usuários humanos usem a federação com um provedor de identidades para acessar a AWS usando credenciais temporárias. Outra prática recomendada é exigir que as workloads usem credenciais temporárias com perfis do IAM para acessar a AWS. Para saber como usar o Centro de Identidade do AWS IAM para criar usuários com credenciais temporárias, consulte [Getting started](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) (Conceitos básicos) no *Guia do usuário do Centro de Identidade do AWS IAM*.   
Este tutorial usa políticas de acesso total. Para uso em produção, recomendamos que você conceda apenas as permissões mínimas necessárias para seu caso de uso, de acordo com as [práticas recomendadas de segurança](security-best-practices.md#security-best-practices-prevent).

Seu usuário do IAM requer as seguintes políticas gerenciadas pela AWS:
+ [AmazonS3FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor): concede permissões a todas as ações do Amazon S3, incluindo permissões para criar e usar um ponto de acesso do Object Lambda. 
+ [AWSLambda\$1FullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLambda_FullAccess$jsonEditor): concede permissões a todas as ações do Lambda. 
+ [AWSCloudFormationFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AWSCloudFormationFullAccess$serviceLevelSummary): concede permissões a todas as ações do AWS CloudFormation.
+ [IAMFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMFullAccess$jsonEditor): concede permissões a todas as ações do IAM. 
+ [IAMAccessAnalyzerReadOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMAccessAnalyzerReadOnlyAccess$jsonEditor): concede permissões para ler todas as informações de acesso fornecidas pelo IAM Access Analyzer. 

Você pode anexar diretamente essas políticas existentes ao criar um usuário do IAM. Para obter mais informações sobre como criar um usuário do IAM, consulte [Criar usuários do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) no *Guia do usuário do IAM*.

Além disso, seu usuário do IAM requer uma política gerenciada pelo cliente. Para conceder permissões de usuário do IAM a todos os recursos e ações do AWS Serverless Application Repository, você deve criar uma política do IAM e anexá-la ao usuário do IAM.

**Para criar e anexar uma política do IAM para um usuário do IAM**

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

1. No painel de navegação à esquerda, escolha **Políticas**.

1. Escolha **Create policy** (Criar política). 

1. Na guia **Visual editor** (Editor visual) de **Service** (Serviço), selecione **Choose a service** (Escolher um serviço). Em seguida, escolha **Serverless Application Repository** (Repositório de aplicações sem servidor). 

1. Para **Actions** (Ações), em **Manual actions** (Ações manuais), selecione **All Serverless Application Repository actions (serverlessrepo:\$1)** (Todas as ações do Serverless Application Repository (serverlessrepo: \$1)) para este tutorial.

   Como uma prática recomendada de segurança, você deve conceder permissões somente para as ações e os recursos dos quais um usuário precisa, com base no seu caso de uso. Para obter mais informações, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

1. Para **Resources** (Recursos), escolha **All resources** (Todos os recursos) para este tutorial.

   Como prática recomendada, você deve definir permissões somente para recursos específicos em contas específicas. Como alternativa, você pode conceder menos privilégios usando chaves de condição. Para obter mais informações, consulte [Grant least privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) (Conceder privilégio mínimo) no *Guia do usuário do IAM*.

1. Escolha **Próximo: tags**.

1. Selecione **Next: Review** (Próximo: revisar).

1. Na página **Revisar política**, insira um **nome** (por exemplo, **tutorial-serverless-application-repository**) e uma **descrição** (opcional) para a política que você está criando. Revise o resumo da política para assegurar-se de ter concedido as permissões que pretendia e, em seguida, escolha **Create policy** (Criar política) para salvar sua nova política.

1. No painel de navegação à esquerda, escolha **Usuários**. Em seguida, escolha o usuário do IAM para este tutorial. 

1. Na página **Summary** (Resumo) do usuário escolhido, escolha a guia **Permissions** (Permissões) e escolha **Add permissions** (Adicionar permissões).

1. Em **Grant permissions** (Conceder permissões), escolha **Attach existing policies directly** (Anexar políticas existentes diretamente).

1. Marque a caixa de seleção ao lado da política que você acabou de criar (por exemplo, **tutorial-serverless-application-repository**) e, depois, escolha **Next: Review** (Próximo: Revisar). 

1. Em **Permissions summary** (Resumo de permissões), revise o resumo para se certificar de que anexou a política que pretendia. Em seguida, selecione **Add permissions** (Adicionar permissões).

## Etapa 1: criar um bucket do S3
<a name="ol-pii-step1"></a>

Crie um bucket para armazenar os dados originais que você planeja transformar. 

**nota**  
Os pontos de acesso podem ser anexados a outra fonte de dados, como um volume do Amazon FSx para OpenZFS, mas este tutorial usa um ponto de acesso de suporte anexado a um bucket do S3.

**Para criar um bucket**

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Selecione **Create bucket (Criar bucket)**. 

   A página **Create bucket** (Criar bucket) é aberta.

1. Para **Bucket name** (Nome do bucket), insira um nome para o seu bucket (por exemplo, **tutorial-bucket**). 

   Para obter mais informações sobre como nomear buckets no Amazon S3, consulte [Regras de nomenclatura de buckets de uso geral](bucketnamingrules.md).

1. Em **Region** (Região), escolha a Região da AWS onde deseja que o bucket resida. 

   Para obter mais informações sobre a região do bucket, consulte [Visão geral dos buckets de uso geral](UsingBucket.md).

1. Para **Block Public Access settings for this bucket** (Configurações de acesso de bloqueio público para este bucket), mantenha as configurações padrão (**Block *all*public access** (Bloquear todo acesso público) está habilitado). 

   Recomendamos que você mantenha todas as configurações de acesso de bloqueio público ativadas, a menos que precise desativar uma ou mais delas para seu caso de uso. Para obter mais informações sobre como bloquear o acesso público, consulte [Bloquear o acesso público ao armazenamento do Amazon S3](access-control-block-public-access.md).

1. Mantenha as configurações restantes definidas conforme os padrões. 

   (Opcional) Se quiser definir configurações de bucket adicionais para o caso de uso específico, consulte [Criar um bucket de uso geral](create-bucket-overview.md).

1. Selecione **Criar bucket**.

## Etapa 2: fazer upload do arquivo para seu bucket do S3
<a name="ol-pii-step2"></a>

Carregue um arquivo de texto contendo dados de PII conhecidos de vários tipos, como nomes, informações bancárias, números de telefone e SSNs, para o bucket do S3 como os dados originais dos quais você editará as PII posteriormente neste tutorial. 

Por exemplo, você pode carregar seguindo o arquivo `tutorial.txt`. Este é um exemplo de arquivo de entrada do Amazon Comprehend.

```
Hello Zhang Wei, I am John. Your AnyCompany Financial Services, 
LLC credit card account 1111-0000-1111-0008 has a minimum payment 
of $24.53 that is due by July 31st. Based on your autopay settings, 
we will withdraw your payment on the due date from your 
bank account number XXXXXX1111 with the routing number XXXXX0000. 

Your latest statement was mailed to 100 Main Street, Any City, 
WA 98121. 
After your payment is received, you will receive a confirmation 
text message at 206-555-0100. 
If you have questions about your bill, AnyCompany Customer Service 
is available by phone at 206-555-0199 or 
email at support@anycompany.com.
```

**Fazer upload de um arquivo para um bucket**

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista de **Buckets**, escolha o nome do bucket que você criou na [Etapa 1](#ol-pii-step1) (por exemplo, **tutorial-bucket**) para carregar seu arquivo.

1. Na guia **Objects** (Objetos) do bucket, escolha **Upload** (Fazer upload).

1. Na página **Upload** (Carregar), em **Files and folders** (Arquivos e pastas), escolha **Add files** (Adicionar arquivos).

1. Escolha um arquivo para carregar e, em seguida, escolha **Open** (Abrir). Por exemplo, você pode carregar o exemplo de arquivo `tutorial.txt`mencionado anteriormente.

1. Escolha **Upload** (Carregar).

## Etapa 3: criar um ponto de acesso do S3
<a name="ol-pii-step3"></a>

Para usar um ponto de acesso do S3 Object Lambda para acessar e transformar os dados originais, você deve criar um ponto de acesso do S3 e associá-lo ao bucket do S3 criado na [Etapa 1](#ol-pii-step1). O ponto de acesso deve estar na mesma Região da AWS que os objetos que você deseja transformar.

Mais adiante neste tutorial, você usará esse ponto de acesso como um ponto de acesso de suporte para o ponto de acesso do Object Lambda. 

**Como criar um ponto de acesso**

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. No painel de navegação, escolha **Access Points** (Pontos de acesso).

1. Na página **Access Points** (Pontos de acesso), escolha **Create access point** (Criar ponto de acesso).

1. No campo **Access point name** (Nome do ponto de acesso), insira o nome (por exemplo, **tutorial-pii-access-point**) para o ponto de acesso.

   Para obter mais informações sobre nomenclatura de pontos de acesso, consulte [Regras de nomenclatura para pontos de acesso](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. No campo **Fonte de dados** insira o nome do bucket criado na [Etapa 1](#ol-pii-step1) (por exemplo, **tutorial-bucket**). O S3 anexa o ponto de acesso a este bucket. 

   (Opcional) Você pode escolher **Browse S3** (Procurar S3) para navegar e pesquisar buckets na sua conta. Se você escolher **Browse S3** (Procurar S3), selecione o bucket desejado e escolha **Choose path** (Escolher caminho) para preencher o campo **Bucket name** (Nome do bucket) com o nome do bucket.

1. Para **Network origin** (Origem de rede), escolha **Internet**. 

   Para obter mais informações sobre origens de rede para pontos de acesso, consulte [Criar pontos de acesso restritos a uma nuvem privada virtual](access-points-vpc.md).

1. Por padrão, todas as configurações de bloqueio de acesso público são habilitadas para seu ponto de acesso. Recomendamos manter a opção **Block *all* public access** (Bloquear todo o acesso público) ativada. Para obter mais informações, consulte [Gerenciar o acesso público a pontos de acesso para buckets de uso geral](access-points-bpa-settings.md).

1. Para todas as outras configurações de ponto de acesso, mantenha as configurações padrão.

   (Opcional) Você pode modificar as configurações do ponto de acesso para dar suporte ao caso de uso. Para este tutorial, recomendamos manter as configurações padrão. 

   (Opcional) Se você precisar gerenciar o acesso ao seu ponto de acesso, você pode especificar uma política de ponto de acesso. Para obter mais informações, consulte [Exemplos de política para pontos de acesso](access-points-policies.md#access-points-policy-examples). 

1. Selecione **Create access point** (Criar ponto de acesso).

## Etapa 4: configurar e implantar uma função Lambda pré-construída
<a name="ol-pii-step4"></a>

Para editar dados de PII, configure e implante a função `ComprehendPiiRedactionS3ObjectLambda` do AWS Lambda pré-criada para uso com o ponto de acesso do S3 Object Lambda.

**Para configurar e implantar a função Lambda**

1. Faça login no Console de gerenciamento da AWS e visualize a função [https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:839782855223:applications/ComprehendPiiRedactionS3ObjectLambda](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:839782855223:applications/ComprehendPiiRedactionS3ObjectLambda) no AWS Serverless Application Repository.

1. Para **Application settings** (Configurações da aplicação), em **Application name** (Nome da aplicação), mantenha o valor padrão (`ComprehendPiiRedactionS3ObjectLambda`) para este tutorial.

   (Opcional) Você pode inserir o nome que deseja dar a esta aplicação. Talvez você queira fazer isso se pretende configurar várias funções Lambda para diferentes necessidades de acesso para o mesmo conjunto de dados compartilhado.

1. Para **MaskCharacter**, mantenha o valor padrão (`*`). O caractere de máscara substitui cada caractere na entidade PII editada. 

1. Para **MaskMode**, mantenha o valor padrão (**MASK**). O valor **MaskMode** especifica se a entidade de PII é editada com o caractere `MASK` ou com o valor `PII_ENTITY_TYPE`.

1. Para editar os tipos de dados especificados, para**PiiEntityTypes**, mantenha o valor padrão **ALL**. O valor **PiiEntityTypes** especifica os tipos de entidade de PII a serem considerados para edição. 

   Para obter mais informações sobre a lista de tipos de entidade PII compatíveis, consulte [Detectar informações de identificação pessoal (PII)](https://docs.aws.amazon.com/comprehend/latest/dg/how-pii.html) no *Guia do desenvolvedor do Amazon Comprehend*.

1. Mantenha as configurações restantes definidas conforme os padrões.

   (Opcional) Se quiser definir configurações adicionais para o caso de uso específico, consulte a seção **Readme file** (Arquivo Leiame) no lado esquerdo da página.

1. Marque a caixa de seleção próxima a **I acknowledge that this app creates custom IAM roles** (Reconheço que esta aplicação cria funções personalizadas do IAM).

1. Escolha **Implantar**.

1. Na página da nova aplicação, em **Resources** (Recursos), escolha o **Logical ID** (ID lógico) da função Lambda que você implantou para revisar a função na página da função Lambda.

## Etapa 5: criar um ponto de acesso do S3 Object Lambda
<a name="ol-pii-step5"></a>

Um ponto de acesso do S3 Object Lambda fornece a flexibilidade de invocar uma função do Lambda diretamente de uma solicitação do S3 GET para que a função possa editar dados PII recuperados de um ponto de acesso do S3. Ao criar e configurar um ponto de acesso do S3 Object Lambda, você deve especificar a função do Lambda de redação para invocar e fornecer o contexto de evento no formato JSON como parâmetros personalizados para o Lambda usar. 

O contexto do evento fornece informações sobre a solicitação que está sendo feita no evento passado do S3 Object Lambda para o Lambda. Para obter mais informações sobre todos os campos no contexto do evento, consulte [Formato e uso de contexto de evento](olap-event-context.md).

**Para criar um ponto de acesso do S3 Object Lambda**

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. 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. Para **Nome do Ponto de acesso Lambda do objeto**, informe o nome que você deseja usar para o ponto de acesso Lambda do objeto (por exemplo, **tutorial-pii-object-lambda-accesspoint**). 

1. Para **Supporting Access Point** (Ponto de acesso de suporte), informe ou procure o ponto de acesso padrão criado na [Etapa 3](#ol-pii-step3) (por exemplo, **tutorial-pii-access-point**) e, em seguida, escolha **Choose supporting Access Point** (Escolher ponto de acesso de suporte). 

1. Para recuperar objetos do bucket do S3 para que a função do Lambda processe, selecione **GetObject** em **S3 APIs** (APIs do S3).

1. Para **Invoke Lambda function** (Chamar função Lambda), você pode escolher qualquer uma das duas opções a seguir para este tutorial. 
   + Selecione **Escolha entre as funções da sua conta** e escolha a função do Lambda que você criou na [Etapa 4](#ol-pii-step4) (por exemplo, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**) da lista suspensa **Função do Lambda**.
   + Escolha **Enter ARN** (Inserir ARN) e depois informe o Nome do recurso da Amazon (ARN) da função Lambda que você criou na [Etapa 4](#ol-pii-step4).

1. Para **Lambda function version** (Versão da função Lambda), escolha **\$1LATEST** (a versão mais recente da função Lambda que você implantou na [Etapa 4](#ol-pii-step4)).

1. (Opcional) Se precisar da função Lambda para reconhecer e processar solicitações GET com cabeçalhos de intervalo e número de peça, selecione **Lambda function supports requests using range** (A função Lambda suporta solicitações usando intervalo) e **Lambda function supports requests using part numbers** (A função Lambda suporta solicitações usando números de parte). Caso contrário, desmarque essas duas caixas de seleção.

   Para obter mais informações sobre como usar números de intervalo ou de parte com o S3 Object Lambda, consulte [Trabalhar com cabeçalhos Range e partNumber](range-get-olap.md).

1. (Opcional) Em **Payload - *optional*** (Carga útil - opcional), adicione um texto JSON para fornecer informações adicionais à sua função Lambda.

   Uma carga útil é um texto JSON opcional que você pode fornecer à sua função do Lambda como entrada para todas as chamadas provenientes de um ponto de acesso do S3 Object Lambda específico. Para personalizar os comportamentos de vários pontos de acesso Lambda do objeto que chamam a mesma função do Lambda, você pode configurar cargas úteis com diferentes parâmetros, estendendo, assim, a flexibilidade da função do Lambda.

   Para obter mais informações sobre carga útil, consulte [Formato e uso de contexto de evento](olap-event-context.md).

1. (Opcional) Em **Métricas de solicitação – *opcional***, escolha **Desabilitar** ou **Habilitar** 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. Para obter mais informações, consulte [Preço do CloudWatch.](https://aws.amazon.com/cloudwatch/pricing/)

1. Em **Object Lambda Access Point policy - *optional*** (Política do ponto de acesso do Object Lambda - opcional), mantenha a configuração padrão. 

   (Opcional) Você pode definir uma política de recursos. Essa política de recursos concede permissão da API `GetObject` para usar o ponto de acesso do Object Lambda especificado.

1. Mantenha as configurações restantes definidas conforme os padrões e escolha **Create Object Lambda Access Point** (Criar ponto de acesso do Object Lambda).

## Etapa 6: usar o ponto de acesso do S3 Object Lambda para recuperar o arquivo editado
<a name="ol-pii-step6"></a>

Agora, o S3 Object Lambda está pronto para editar dados de PII do seu arquivo original. 

**Para usar o ponto de acesso do S3 Object Lambda para recuperar o arquivo editado**

Quando você solicita para recuperar um arquivo por meio do ponto de acesso do S3 Object Lambda, você faz uma chamada de API `GetObject` para o S3 Object Lambda. O S3 Object Lambda chama a função Lambda para editar seus dados de PII e retorna os dados transformados como a resposta à chamada de API `GetObject` do S3 padrão.

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. No painel de navegação à esquerda, escolha **Object Lambda access points** (Pontos de acesso do Object Lambda).

1. Na página **Pontos de acesso do Object Lambda**, escolha o ponto de acesso do S3 Object Lambda que você criou na [Etapa 5](#ol-pii-step5) (por exemplo, **tutorial-pii-object-lambda-accesspoint**).

1. Na guia **Objetos** do ponto de acesso do S3 Object Lambda, selecione o arquivo que tem o mesmo nome (por exemplo, `tutorial.txt`) daquele que você carregou no bucket do S3 na [Etapa 2](#ol-pii-step2). 

   Esse arquivo deve conter todos os dados transformados.

1. Para exibir os dados transformados, escolha **Open** (Abrir) ou **Download** (Baixar).

    Você deve ser capaz de ver o arquivo editado, conforme mostrado no exemplo a seguir. 

   ```
   Hello *********. Your AnyCompany Financial Services, 
   LLC credit card account ******************* has a minimum payment 
   of $24.53 that is due by *********. Based on your autopay settings, 
   we will withdraw your payment on the due date from your 
   bank account ********** with the routing number *********. 
   
   Your latest statement was mailed to **********************************. 
   After your payment is received, you will receive a confirmation 
   text message at ************. 
   If you have questions about your bill, AnyCompany Customer Service 
   is available by phone at ************ or 
   email at **********************.
   ```

## Etapa 7: limpar
<a name="ol-pii-step7"></a>

Se você editou seus dados por meio do S3 Object Lambda apenas como um exercício de aprendizado, exclua os recursos da AWS que você alocou para que não haja mais encargos. 

**Topics**
+ [Excluir o ponto de acesso do Object Lambda](#ol-pii-step8-delete-olap)
+ [Exclua o ponto de acesso do S3](#ol-pii-step8-delete-ap)
+ [Excluir a função Lambda](#ol-pii-step8-delete-lambda-function)
+ [Excluir o grupo de logs do CloudWatch](#ol-pii-step8-delete-cloudwatch)
+ [Exclua o arquivo original no bucket de origem do S3](#ol-pii-step8-delete-file)
+ [Exclua o bucket de origem do S3](#ol-pii-step8-delete-bucket)
+ [Exclua a função do IAM para a função Lambda](#ol-pii-step8-delete-lambda-role)
+ [Exclua a política gerenciada pelo cliente para o usuário do IAM](#ol-pii-step8-delete-function-policy)
+ [Excluir o usuário do IAM](#ol-pii-step8-delete-user)

### Excluir o ponto de acesso do Object Lambda
<a name="ol-pii-step8-delete-olap"></a>

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. No painel de navegação à esquerda, escolha **Object Lambda access points** (Pontos de acesso do Object Lambda).

1. Na página **Pontos de acesso do Object Lambda**, escolha o botão de opção à esquerda do ponto de acesso do S3 Object Lambda que você criou na [Etapa 5](#ol-pii-step5) (por exemplo, **tutorial-pii-object-lambda-accesspoint**).

1. Escolha **Excluir**.

1. Confirme se deseja excluir o ponto de acesso do Lambda, inserindo o nome no campo de texto exibido e escolha **Excluir**.

### Exclua o ponto de acesso do S3
<a name="ol-pii-step8-delete-ap"></a>

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. No painel de navegação, escolha **Access Points** (Pontos de acesso).

1. Navegue até o ponto de acesso que você criou na [Etapa 3](#ol-pii-step3) (por exemplo, **tutorial-pii-access-point**) e escolha o botão de opção ao lado do nome do ponto de acesso.

1. Escolha **Excluir**.

1. Confirme se deseja excluir o ponto de acesso inserindo o nome no campo de texto exibido e escolha **Delete** (Excluir).

### Excluir a função Lambda
<a name="ol-pii-step8-delete-lambda-function"></a>

1. No console do AWS Lambda em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), escolha **Functions** (Funções) no painel de navegação à esquerda. 

1. Escolha a função que você criou na [Etapa 4](#ol-pii-step4) (por exemplo, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Escolha **Ações** e, em seguida, escolha **Excluir**.

1. Na caixa de diálogo **Delete function** (Excluir função), escolha **Delete** (Excluir).

### Excluir o grupo de logs do CloudWatch
<a name="ol-pii-step8-delete-cloudwatch"></a>

1. Abra o console do CloudWatch em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação esquerdo, escolha **Log groups** (Grupos de log).

1. Localize o grupo de logs cujo nome termina com a função Lambda que você criou na [Etapa 4](#ol-pii-step4) (por exemplo, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Escolha **Actions** (Ações) e **Delete log group(s)** (Excluir grupo(s) de log).

1. Na caixa de diálogo **Delete log group(s)** (Excluir grupo(s) de logs), escolha **Delete** (Excluir).

### Exclua o arquivo original no bucket de origem do S3
<a name="ol-pii-step8-delete-file"></a>

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Bucket name** (Nome do bucket), escolha o nome do bucket para o qual você carregou o arquivo original na [Etapa 2](#ol-pii-step2) (por exemplo, **tutorial-bucket**).

1. Marque a caixa de seleção à esquerda do nome do objeto que você deseja excluir (por exemplo, `tutorial.txt`).

1. Escolha **Excluir**.

1. Na página **Delete objects** (Excluir objetos) na seção **Permanently delete objects?** (Excluir objetos permanentemente?), confirme se deseja excluir este objeto informando **permanently delete** na caixa de texto.

1. Escolha **Delete objects** (Excluir objetos).

### Exclua o bucket de origem do S3
<a name="ol-pii-step8-delete-bucket"></a>

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista de **Buckets**, escolha o botão de opção ao lado do nome do bucket que você criou na [Etapa 1](#ol-pii-step1) (por exemplo, **tutorial-bucket**).

1. Escolha **Excluir**.

1. Na página **Delete bucket** (Excluir bucket), confirme se deseja excluir o bucket inserindo o nome do bucket no campo de texto e escolha **Delete bucket** (Excluir bucket).

### Exclua a função do IAM para a função Lambda
<a name="ol-pii-step8-delete-lambda-role"></a>

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

1. No painel de navegação esquerdo, escolha **Roles** (Funções) e marque a caixa de seleção ao lado do nome da função que você deseja excluir. O nome da função começa com o nome da função Lambda que você implantou na [Etapa 4](#ol-pii-step4) (por exemplo, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Escolha **Excluir**.

1. Na caixa de diálogo **Delete** (Excluir), informe o nome da função no campo de entrada de texto para confirmar a exclusão. Em seguida, selecione **Excluir**.

### Exclua a política gerenciada pelo cliente para o usuário do IAM
<a name="ol-pii-step8-delete-function-policy"></a>

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

1. No painel de navegação à esquerda, escolha **Políticas**.

1. Na página **Policies** (Políticas), insira o nome da política gerenciada pelo cliente que você criou em [Prerequisites](#ol-pii-prerequisites) (Pré-requisitos) (por exemplo, **tutorial-serverless-application-repository**) na caixa de pesquisa para filtrar a lista de políticas. Selecione o botão de opção ao lado do nome da política que você deseja excluir.

1. Escolha **Ações** e, em seguida, escolha **Excluir**.

1. Confirme se deseja excluir esta política, inserindo seu nome no campo de texto exibido e escolha **Delete** (Excluir).

### Excluir o usuário do IAM
<a name="ol-pii-step8-delete-user"></a>

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

1. No painel de navegação esquerdo, escolha **Users** (Usuários) e marque a caixa de seleção ao lado do nome do usuário que você deseja excluir.

1. Na parte superior da página, escolha **Delete** (Excluir).

1. Na caixa de diálogo **Delete *user name*?** (Excluir nome de usuário?), insira o nome de usuário no campo de entrada de texto para confirmar a exclusão do usuário. Escolha **Excluir**.

## Próximas etapas
<a name="ol-pii-next-steps"></a>

Depois de concluir este tutorial, você pode explorar ainda mais os seguintes casos de uso relacionados:
+ Você pode criar vários pontos de acesso do S3 Object Lambda e habilitá-los com funções do Lambda pré-criadas que são configuradas de forma diferente para editar tipos específicos de PII, dependendo das necessidades de negócios dos assessores de dados. 

  Cada tipo de usuário assume um perfil do IAM e só tem acesso a um ponto de acesso do S3 Object Lambda (gerenciado por meio de políticas do IAM). Depois, anexe cada função do Lambda `ComprehendPiiRedactionS3ObjectLambda` configurada para um caso de uso de edição diferente para um ponto de acesso do S3 Object Lambda diferente. Para cada ponto de acesso do S3 Object Lambda, você pode ter um ponto de acesso do S3 de suporte para ler dados de um bucket do S3 que armazena o conjunto de dados compartilhado. 

  Para obter mais informações sobre como criar uma política de bucket do S3 que conceda aos usuários a leitura do bucket somente por meio dos pontos de acesso do S3, consulte [Configurar políticas do IAM para uso de pontos de acesso](access-points-policies.md).

  Para obter mais informações sobre como conceder permissão de usuário para acessar a função do Lambda, o ponto de acesso S3 e o ponto de acesso do S3 Object Lambda, consulte [Configurar políticas do IAM para pontos de acesso do Object Lambda](olap-policies.md).
+ Você pode criar sua própria função Lambda e usar o S3 Object Lambda com sua função Lambda personalizada para atender às suas necessidades de dados específicas.

  Por exemplo, para explorar vários valores de dados, você pode usar o S3 Object Lambda e sua própria função Lambda que usa [Recursos do Amazon Comprehend](https://aws.amazon.com/comprehend/features/), como reconhecimento de entidade, reconhecimento de frase-chave, análise de sentimento e classificação de documentos, para processar dados. Você também pode usar o S3 Object Lambda junto com o[Amazon Comprehend Medical](https://aws.amazon.com/comprehend/medical/), um serviço de PNL qualificado para HIPAA, para analisar e extrair dados com reconhecimento de contexto.

  Para obter mais informações sobre como transformar dados com o S3 Object Lambda e sua própria função Lambda, consulte [Tutorial: Como transformar dados para sua aplicação com o S3 Object Lambda](tutorial-s3-object-lambda-uppercase.md).