

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como criar umAWS LambdaFunção
<a name="lambda"></a>

Você pode chamar as operações da API Amazon Textract de dentro de umAWS Lambdafunção. As instruções a seguir mostram como criar uma função Lambda no Python que chama[DetectDocumentText](API_DetectDocumentText.md). Ele retorna uma lista de[Block](API_Block.md)objetos. Para executar este exemplo, você precisa de um bucket do Amazon S3 que contenha um documento no formato PNG ou JPEG. Para criar uma função, use o console.

Para obter um exemplo que usa funções do Lambda para processar documentos em grande escala, consulte[Processamento de documentos em grande escala com o Amazon Textract](https://github.com/aws-samples/amazon-textract-serverless-large-scale-document-processing).

## Para chamar a operação DetectDocumentText a partir de uma função do Lambda:
<a name="lambda-procedure"></a><a name="create-deployment-package"></a>

**Etapa 1: Criar um pacote de implantação do Lambda**

1. Abra uma janela de comando.

1. Insira os comandos a seguir para criar um pacote de implantação com a versão mais recente doAWSSDK.

   ```
   pip install boto3 --target python/.
   zip boto3-layer.zip -r python/
   ```<a name="create-function"></a>

**Etapa 2: Criar uma função do Lambda**

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

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

1. Especifique o seguinte.
   + Escolha **Author from scratch**. 
   + Em **Function name (Nome da função)**, insira um nome.
   + para o**Tempo de execução**, escolha**Python 3.7**ou**Python 3.6**.
   + para o**Escolha ou crie uma função de execução**, escolha**Criar uma nova função com permissões básicas do Lambda**. 

1. Selecione**Criar função**Para criar a função do Lambda.

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

1. No painel de navegação, escolha**Funções do**.

1. Na lista de recursos, escolha a função do IAM criada pelo Lambda para você. O nome da função começa com o nome da função do Lambda.

1. Selecione o**Permissões**e, em seguida, escolha**Anexar políticas**.

1. Selecione as políticas AmazonTextractFullAccess e AmazonS3ReadOnlyAccess.

1. Select**Anexar política**.

Para obter mais informações, consulte[Criar uma função do Lambda com o console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html)

**Etapa 3: Criar e adicionar uma camada**

1. 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, escolha **Layers (Camadas)**. 

1. Escolha **Create layer** (Criar camada).

1. para o**Name (Nome)**Insira um nome.

1. Em **Description (Descrição)**, insira uma descrição.

1. para o**Tipo de entrada de código**, escolha**Fazer upload do arquivo .zip**Selecione e selecione**Carregar**.

1. Na caixa de diálogo, selecione o arquivo zip (boto3-layer.zip), o zip que você criou em[Etapa 1: Criar um pacote de implantação do Lambda](#create-deployment-package).

1. para o**Tempos de execução compatíveis**, escolha a versão do tempo de execução que você escolheu[Etapa 2: Criar uma função do Lambda](#create-function).

1. Selecione**Criar**Para criar a camada.

1. Escolha o ícone do menu do painel de navegação.

1. Selecione **Functions ** (Funções) no painel de navegação.

1. Na lista de recursos, selecione a função criada em[Etapa 2: Criar uma função do Lambda](#create-function). 

1. Selecione**Configuração**e no**Designer**Escolha, escolha**Camadas do**(sob o nome da função do Lambda). 

1. No**Camadas do**Escolha, escolha**Adicionar uma camada**.

1. Selecione**Selecione na lista de camadas compatíveis com tempo de execução**.

1. Dentro**Camadas compatíveis**, selecione o**Name (Nome)**e**Versão**da camada criada na etapa 3.

1. Escolha **Add (Adicionar)**.

**Etapa 4: Adicionar código python à função**

1. Dentro**Designer**Escolha a função do.

1. No editor de código da função, adicione o seguinte ao arquivo**lambda\$1function.py**. Altere os valores de`bucket`e`document`para seu bucket e documento.

   ```
   import json
   import boto3
   
   def lambda_handler(event, context):
   
       bucket="bucket"
       document="document"
       client = boto3.client('textract')
   
   
   
       #process using S3 object
       response = client.detect_document_text(
           Document={'S3Object': {'Bucket': bucket, 'Name': document}})
   
       #Get the text blocks
       blocks=response['Blocks']
       
       return {
           'statusCode': 200,
           'body': json.dumps(blocks)
       }
   ```

1. Selecione**Salvar**Para salvar a função do Lambda.

**Etapa 5: Testar o Lambda**

1. Select**Teste**.

1. Insira um valor para o**Event name (Nome do evento)**.

1. Escolha **Create** (Criar).

1. A saída, uma lista de[Block](API_Block.md)objetos, aparece no painel Resultados da execução.

Se oAWS Lambdafunção retorna um erro de tempo limite, uma chamada de operação da API Amazon Textract pode ser a causa. Para obter mais informações sobre como estender o período de tempo limite para umAWS LambdaConsulte a função do[Configuração da função do AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/resource-model.html).

Para obter mais informações sobre como invocar uma função Lambda do seu código, consulte[InvocarAWS LambdaFunções](https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.html). 