

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de unAWS LambdaFunción
<a name="lambda"></a>

Puede llamar a las operaciones de la Amazon Textract Texact desde unAWS Lambdafunción. Las siguientes instrucciones muestran cómo crear una función de Lambda en Python que llame[DetectDocumentText](API_DetectDocumentText.md). devuelve una lista de[Block](API_Block.md)objetos. Para ejecutar este ejemplo, necesita un depósito de Amazon S3 que contenga un documento en formato PNG o JPEG. Para crear la función, utilice la consola.

Para ver un ejemplo que utiliza funciones Lambda para procesar documentos a gran escala, consulte[Procesamiento de documentos a gran escala con Amazon Textract](https://github.com/aws-samples/amazon-textract-serverless-large-scale-document-processing).

## Para llamar a la operación DetectDocumentText desde una función Lambda:
<a name="lambda-procedure"></a><a name="create-deployment-package"></a>

**Paso 1: Creación de un paquete de implementación de Lambda**

1. Abra una ventana del sistema.

1. Especifique los siguientes comandos para crear un paquete de implementación con la versión más reciente deAWSSDK.

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

**Paso 2: Creación de una función de Lambda**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS Lambda en [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Elija **Create function** (Crear función).

1. Especifique lo siguiente.
   + Elija **Author from scratch (Crear desde cero)**. 
   + En **Function name (Nombre de función)**, escriba un nombre.
   + Para**Runtime (Tiempo de ejecución):**, elige**Python 3.7**o**Python 3.6**.
   + Para**Elija o cree un rol de ejecución**, elige**Crear un nuevo rol con permisos básicos de Lambda**. 

1. Elegir**Crear función**para crear la función Lambda.

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, elija**Roles de**.

1. En la lista de recursos, elija el rol de IAM que Lambda creó para usted. El nombre del rol comienza con el nombre de su función de Lambda.

1. Elija el icono**Permisos**pestaña y, a continuación, elige**Asociar políticas**.

1. Selecciona las políticas de acceso de solo lectura de Amazon Textract y Amazon S3.

1. Select**Asociar política**.

Para obtener más información, consulte[Creación de una función Lambda con la consola](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html)

**Paso 3: Crear y agregar una capa**

1. Abra la consola de AWS Lambda en [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. En el panel de navegación, elija **Layers (Capas)**. 

1. Elija **Crear capa**.

1. Para**Nombre**, escriba un nombre.

1. En **Description (Descripción)**, escriba una descripción.

1. Para**Code entry type**, elige**Cargar un archivo .zip**y seleccione**Cargar**.

1. En el cuadro de diálogo, seleccione el archivo zip (boto3-layer.zip), el zip que creó en[Paso 1: Creación de un paquete de implementación de Lambda](#create-deployment-package).

1. Para**Tiempos de ejecución compatibles**, elige la versión del motor de ejecución que eligió en[Paso 2: Creación de una función de Lambda](#create-function).

1. Elegir**Crear**para crear la capa.

1. Seleccione el icono del menú del panel de navegación.

1. Seleccione **Functions** (Funciones) en el panel de navegación.

1. En la lista de recursos, seleccione la función que ha creado en[Paso 2: Creación de una función de Lambda](#create-function). 

1. Elegir**Configuración**y en el**Diseñador**, elija**Capas de**(bajo el nombre de la función Lambda). 

1. En el navegador**Capas de**, elija**Añadir una capa**.

1. Elegir**Seleccionar de una lista de capas compatibles en tiempo de ejecución**.

1. En**Capas compatibles**, seleccione el**Nombre**y**Version**de la capa que creó en el paso 3.

1. Elija **Add (Agregar)**.

**Paso 4: Agregar código de python a la función**

1. En**Diseñador**, elija su función.

1. En el editor de código de función, agregue lo siguiente al archivo**lambda\$1function.py**. Cambie los valores de`bucket`y`document`a su depósito y 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. Elegir**Guardar**para guardar la función de Lambda.

**Paso 5: Pruebe su Lambda**

1. Select**Pruebas**.

1. Introduzca un valor para**Nombre del evento:**.

1. Elija **Create (Crear)**.

1. La salida, una lista de[Block](API_Block.md)objetos, aparece en el panel Resultados de ejecución.

Si el archivo deAWS Lambdadevuelve un error de tiempo de espera, una llamada a la operación de la API de Amazon Texact podría ser la causa. Para obtener información sobre cómo ampliar el período de espera de unAWS Lambdafunción, consulte[Configuración de funciones de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/resource-model.html).

Para obtener información sobre cómo invocar una función de Lambda desde el código, consulte[InvocaciónAWS LambdaFunciones](https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.html). 