Creazione di unAWS LambdaFunzione - Amazon Textract

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

Puoi chiamare le operazioni dell'API Amazon Textract da unAWS Lambdafunzione. Le seguenti istruzioni mostrano come creare una funzione Lambda in Python che chiamaDetectDocumentText. restituisce un elenco di oggettiBlockoggetti. 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, vedereElaborazione di documenti su larga scala con Amazon Textract.

Per chiamare l'operazione DetectDocumentText da una funzione Lambda:

Fase 1: Creazione un pacchetto di distribuzione Lambda
  1. Aprire una finestra dei comandi.

  2. 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/
Fase 2: Creazione di una funzione Lambda
  1. Accedere alla AWS Management Console e aprire la console di AWS Lambda all’indirizzo https://console.aws.amazon.com/lambda/.

  2. Scegli Create function (Crea funzione).

  3. Specifica quanto segue.

    • Scegliere Author from scratch (Crea da zero).

    • Per Function name (Nome funzione) immettere un nome.

    • PerRuntime, scegliPython 3.7oPython 3.6.

    • PerScegliere o creare un ruolo di esecuzione, scegliCrea un nuovo ruolo con le autorizzazioni Lambda di base.

  4. ScegliereCrea funzioneper creare la funzione Lambda.

  5. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  6. Nel riquadro di navigazione, scegliereRuoli.

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

  8. SelezionaAutorizzazionitab, quindi scegliCollegamento di policy.

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

  10. Selezionacollegamento di policy.

Per ulteriori informazioni, consultaCreare una funzione Lambda con la console

Fase 3: Creazione e aggiunta di un livello
  1. Apri la console AWS Lambda all'indirizzo https://console.aws.amazon.com/lambda/.

  2. Nel riquadro di navigazione scegli Layers (Livelli).

  3. Scegli Create layer (Crea livello).

  4. PerNomeinserisci un nome.

  5. In Description (Descrizione), inserire una descrizione.

  6. PerTipo di voce del codice, scegliCarica il file .zipe selezionareCaricamento.

  7. Nella finestra di dialogo, selezionare il file zip (boto3-layer.zip), lo zip creato inFase 1: Creazione un pacchetto di distribuzione Lambda.

  8. PerRuntime compatibili, scegli la versione del runtime in cui hai sceltoFase 2: Creazione di una funzione Lambda .

  9. ScegliereCreateper creare il livello.

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

  11. Nel riquadro di navigazione, seleziona Funzioni.

  12. Nell'elenco delle risorse selezionare la funzione creata inFase 2: Creazione di una funzione Lambda .

  13. ScegliereConfigurazionee nelDesignersezione, scegliLivelli(sotto il nome della funzione Lambda).

  14. NellaLivellisezione, scegliAggiunta di un livello.

  15. ScegliereSeleziona dall'elenco di layer compatibili con il runtime.

  16. Nello statoStrati compatibili, selezionare ilNomeeVersiondel livello creato nel passaggio 3.

  17. Scegliere Add (Aggiungi).

Fase 4: Aggiungere codice Python alla funzione
  1. Nello statoDesigner, scegliere la funzione.

  2. Nell'editor del codice della funzione, aggiungere quanto segue al filelambda_function.py. Modificare i valori dibucketedocumental 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) }
  3. ScegliereSave (Salva)per salvare la funzione Lambda.

Fase 5: Test della funzione Lambda
  1. SelezionaTest.

  2. Immettere un valore perEvent name (Nome evento):.

  3. Scegliere Create (Crea).

  4. L'output, un elenco diBlockoggetti, 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, vedereConfigurazione funzione AWS Lambda.

Per informazioni sull'invocazione di una funzione Lambda dal codice, vedereRichiamoAWS LambdaFunzioni.