本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建AWS Lambda函数
您可以从内部调用 Amazon Textract API 操作AWS Lambdafunction. 以下说明演示了如何在 Python 中创建调用的 Lambda 函数。DetectDocumentText. 它返回一组Block对象。要运行此示例,您需要一个包含 PNG 或 JPEG 格式文档的 Amazon S3 存储桶。要创建函数,您可以使用控制台。
有关使用 Lambda 函数大规模处理文档的示例,请参阅使用 Amazon Textract 进行大规模文档处理
要从 Lambda 函数调用 DetectDocumentText 操作,请执行以下操作:
第 1 步:创建 Lambda 部署程序包
打开一个命令窗口。
输入以下命令以创建具有最新版本的部署程序包AWSSDK。
pip install boto3 --target python/. zip boto3-layer.zip -r python/
第 2 步:创建 Lambda 函数
登录到 AWS Management Console,然后通过以下网址打开 AWS Lambda 控制台:https://console.aws.amazon.com/lambda/
。 选择 Create function(创建函数)。
指定以下内容。
选择 Author from scratch (从头创作)。
对于 Function name (函数名称),输入一个名称。
适用于运行时,选择Python 3.7要么Python 3.6.
适用于选择或创建执行角色,选择创建具有基本 Lambda 权限的新角色.
选择创建函数创建 Lambda 函数。
通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 在导航窗格中,选择角色.
从资源列表中,选择 Lambda 为您创建的 IAM 角色。角色名称以 Lambda 函数的名称开头。
选择Permissions (权限)选项卡,然后选择附加策略.
选择 AmazonTextractFullAccess 权限和 AmazonS3ReadOnlyAccess 政策。
Select附加策略.
有关更多信息,请参阅 。使用控制台创建 Lambda 函数
第 3 步:创建并添加层
打开 AWS Lambda 控制台,地址:https://console.aws.amazon.com/lambda/
。 在导航窗格中,选择 Layers(层)。
选择 Create layer (创建层)。
适用于名称,输入一个名称。
对于说明,输入说明。
适用于代码条目类型,选择上传 .zip 文件然后选择上传.
在对话框中,选择 zip 文件 (boto3-layer.zip),即您在其中创建的 zip 文件第 1 步:创建 Lambda 部署程序包.
适用于兼容运行时,选择您在中选择的运行时版本第 2 步:创建 Lambda 函数.
选择Create创建层。
选择导航窗格菜单图标。
在导航窗格中,选择 Functions(函数)。
在资源列表中,选择您在中创建的函数。第 2 步:创建 Lambda 函数.
选择配置而且在设计师部分,选择层(在您的 Lambda 函数名称下)。
在层部分,选择添加层.
选择从运行时兼容的图层列表中选择.
In兼容层中,选择名称和版本在步骤 3 中创建的层。
选择 Add (添加)。
第 4 步:将 python 代码添加到函数
In设计师,选择函数。
在函数代码编辑器中,将以下内容添加到文件。lambda_function.py. 更改的值
bucket
和document
到存储桶和文档中。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) }选择Save(保存)保存 Lambda 函数。
第 5 步:测试 Lambda
Select测试.
为Event name (事件名称).
选择创建。
输出,列表Block对象,将显示在执行结果窗格中。
如果AWS Lambda函数返回超时错误,可能是 Amazon Textract API 操作调用的原因。有关延长超时期限的信息AWS Lambda请参阅函数AWS Lambda 函数配置.
有关从您的代码调用 Lambda 函数的信息,请参阅调用AWS Lambda函数.