建立AWS Lambda函式 - Amazon Textract

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立AWS Lambda函式

您可以從AWS Lambda函數。以下説明顯示如何在 Python 中建立 Lambda 函數,以調用DetectDocumentText。它會返回Block物件。要運行此示例,您需要一個包含 PNG 或 JPEG 格式文檔的 Amazon S3 存儲桶。若要建立函數,您可以使用主控台。

有關使用 Lambda 函數大規模處理文檔的示例,請參閲使用 Amazon Textract 進行大規模文檔處理

要從 Lambda 函數調用 DetectDocumentText 操作,請執行以下操作:

步驟 1:建立 Lambda 部署套件
  1. 開啟命令視窗。

  2. 輸入以下命令以最新版的AWS開發套件。

    pip install boto3 --target python/. zip boto3-layer.zip -r python/
步驟 2:建立 Lambda 函數
  1. 請登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/lambda/ 的 AWS Lambda 主控台。

  2. 選擇 Create function (建立函數)。

  3. 指定下列內容。

    • 選擇 Author from scratch (從頭開始撰寫)

    • 針對 Function name (函數名稱),輸入名稱。

    • 適用於執行時間,選擇Python 3.7或者Python 3.6

    • 適用於選擇或建立執行角色,選擇建立具備基本 Lambda 許可的新角色

  4. 選擇建立函數建立 Lambda 函數。

  5. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  6. 在導覽窗格中,選取角色

  7. 從資源列表中選擇 Lambda 為您建立的 IAM 角色。角色名稱以 Lambda 函數名稱開頭。

  8. 選擇Permissions (許可)選項卡,然後選擇連接政策

  9. 選擇亞 AmazonTextractFullAccess 和 AmazonS3ReadOnlyAccess 政策。

  10. 選擇連接政策

如需詳細資訊,請參閱「」使用主控台建立 Lambda 函數

步驟 3:建立和添加圖層
  1. https://console.aws.amazon.com/lambda/ 開啟 AWS Lambda 主控台。

  2. 在導覽窗格中,選擇 Layers (層)。

  3. 選擇 Create layer (建立 Layer)

  4. 適用於名稱中,輸入名稱。

  5. Description (描述) 中,輸入描述。

  6. 適用於程式碼輸入類型,選擇上傳 .zip 檔案,然後選取上傳

  7. 在對話框中,選擇 zip 文件 (boto3-layer.zip),即您在步驟 1:建立 Lambda 部署套件

  8. 適用於相容的運行時中,選擇您在步驟 2:建立 Lambda 函數

  9. 選擇建立建立圖層。

  10. 選擇導航窗格菜單圖標。

  11. 在導覽窗格中,選擇函數

  12. 在資源列表中,選擇您在步驟 2:建立 Lambda 函數

  13. 選擇組態並在設計師部分中,選擇圖層(在你的 Lambda 函數名稱下)。

  14. 在 中圖層部分中,選擇新增圖層

  15. 選擇從運行時兼容圖層列表中進行選擇

  16. In相容的層中,選取名稱版本在步驟 3 中建立的圖層。

  17. 選擇 Add (新增)。

步驟 4:將 python 程式碼複製到函數
  1. In設計師,選取函數。

  2. 在函式程式碼編輯器中,將以下內容添加到lambda_function.py。更改bucketdocument添加到您的存儲桶和文檔。

    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. 選擇Save以保存您的 Lambda 函數。

步驟 5:測試您的 Lambda
  1. 選擇測試

  2. 輸入Event name

  3. 選擇 Create (建立)

  4. 輸出,列表Block對象將顯示在「執行結果」窗格中。

如果AWS Lambda函數返回超時錯誤,則可能導致 Amazon Textract API 操作調用。有關延長超時期限的信息AWS Lambda函數,請參閲AWS Lambda 功能

有關從您的代碼調用 Lambda 函數的信息,請參閲呼叫AWS Lambda函數