

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di unAWS LambdaFunzione
<a name="lambda"></a>

Puoi chiamare le operazioni dell'API Amazon Textract da unAWS Lambdafunzione. Le seguenti istruzioni mostrano come creare una funzione Lambda in Python che chiama[DetectDocumentText](API_DetectDocumentText.md). restituisce un elenco di oggetti[Block](API_Block.md)oggetti. Per eseguire questo esempio, è necessario un bucket Amazon S3 che contenga un documento in formato PNG o JPEG. Per creare la funzione, utilizzare la console.

Per un esempio che utilizza le funzioni Lambda per elaborare documenti su larga scala, vedere[Elaborazione di documenti su larga scala con Amazon Textract](https://github.com/aws-samples/amazon-textract-serverless-large-scale-document-processing).

## Per chiamare l'operazione DetectDocumentText da una funzione Lambda:
<a name="lambda-procedure"></a><a name="create-deployment-package"></a>

**Fase 1: Creazione un pacchetto di distribuzione Lambda**

1. Aprire una finestra dei comandi.

1. Immettere i seguenti comandi per creare un pacchetto di distribuzione con la versione più recente dellaAWSSDK.

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

**Fase 2: Creazione di una funzione Lambda**

1. Accedere alla Console di gestione AWS e aprire la console di AWS Lambda all’indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Scegli **Create function** (Crea funzione).

1. Specifica quanto segue.
   + Scegliere **Author from scratch** (Crea da zero). 
   + Per **Function name (Nome funzione)** immettere un nome.
   + Per**Runtime**, scegli**Python 3.7**o**Python 3.6**.
   + Per**Scegliere o creare un ruolo di esecuzione**, scegli**Crea un nuovo ruolo con le autorizzazioni Lambda di base**. 

1. Scegliere**Crea funzione**per creare la funzione Lambda.

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, scegliere**Ruoli**.

1. Dall'elenco delle risorse scegli il ruolo IAM creato da Lambda. Il nome del ruolo inizia con il nome della funzione Lambda.

1. Seleziona**Autorizzazioni**tab, quindi scegli**Collegamento di policy**.

1. Seleziona le politiche di AmazonTextractFullAccess AmazonTextractFullAccess e Amazon S3.

1. Seleziona**collegamento di policy**.

Per ulteriori informazioni, consulta[Creare una funzione Lambda con la console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html)

**Fase 3: Creazione e aggiunta di un livello**

1. Apri la console AWS Lambda all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Nel riquadro di navigazione scegli **Layers (Livelli)**. 

1. Scegli **Create layer** (Crea livello).

1. Per**Nome**inserisci un nome.

1. In **Description (Descrizione)**, inserire una descrizione.

1. Per**Tipo di voce del codice**, scegli**Carica il file .zip**e selezionare**Caricamento**.

1. Nella finestra di dialogo, selezionare il file zip (boto3-layer.zip), lo zip creato in[Fase 1: Creazione un pacchetto di distribuzione Lambda](#create-deployment-package).

1. Per**Runtime compatibili**, scegli la versione del runtime in cui hai scelto[Fase 2: Creazione di una funzione Lambda](#create-function).

1. Scegliere**Create**per creare il livello.

1. Scegli l'icona del menu del riquadro di navigazione.

1. Nel riquadro di navigazione, seleziona **Funzioni**.

1. Nell'elenco delle risorse selezionare la funzione creata in[Fase 2: Creazione di una funzione Lambda](#create-function). 

1. Scegliere**Configurazione**e nel**Designer**sezione, scegli**Livelli**(sotto il nome della funzione Lambda). 

1. Nella**Livelli**sezione, scegli**Aggiunta di un livello**.

1. Scegliere**Seleziona dall'elenco di layer compatibili con il runtime**.

1. Nello stato**Strati compatibili**, selezionare il**Nome**e**Version**del livello creato nel passaggio 3.

1. Scegliere **Add** (Aggiungi).

**Fase 4: Aggiungere codice Python alla funzione**

1. Nello stato**Designer**, scegliere la funzione.

1. Nell'editor del codice della funzione, aggiungere quanto segue al file**lambda\$1function.py**. Modificare i valori di`bucket`e`document`al tuo secchio e al tuo 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. Scegliere**Save (Salva)**per salvare la funzione Lambda.

**Fase 5: Test della funzione Lambda**

1. Seleziona**Test**.

1. Immettere un valore per**Event name (Nome evento):**.

1. Scegliere **Create** (Crea).

1. L'output, un elenco di[Block](API_Block.md)oggetti, vengono visualizzati nel riquadro dei risultati dell'esecuzione.

Se il fileAWS Lambdafunzione restituisce un errore di timeout, potrebbe essere la causa una chiamata di operazione dell'API Amazon Textract. Per informazioni sull'estensione del periodo di timeout per unAWS Lambdafunzione, vedere[Configurazione funzione AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/resource-model.html).

Per informazioni sull'invocazione di una funzione Lambda dal codice, vedere[RichiamoAWS LambdaFunzioni](https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.html). 