处理阶段 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

处理阶段

Amazon Textract 将 PDF 文件内容提取为下游应用程序无法直接使用的字符串(例如,通过聚合数字生成统计数据)。需要正确识别和转换数据值,因为下游应用程序可以更轻松地使用这些值(例如,将成本趋势绘制为时间序列)。要实现 PDF 文件处理,必须通过 Amazon Textract 对每种新 PDF 文件类型中的一个 PDF 文件进行一次性处理,然后由其生成 JSON 格式的Template文件。

在中启动该AWS Lambda函数后摄取阶段,它将运行下图中所示的步骤。

该AWS Lambda函数调用 Amazon Textract 来处理 PDF 文件,使用预定义的预定义Template JSON 文件,并在将最终输出存储在 S3 存储桶中之前应用后处理规则。

该图显示了实现以下步骤的 Lambda 函数:

  1. 调用 Amazon Textract 处理 PDF 文件、提取内容并返回 JSON 格式的文件。

  2. 使用预定义的 JSON 文件获取 JTemplate SON 文件并解析出表单和表,该文件为每个字段具有正确的键名和值类型。此过程提供经过解析的 JSON 文件。

  3. 应用后处理规则并使用Template JSON 文件更正已解析的 JSON 文件中的每个值。这将生成Final JSON 文件。预定义的Template JSON 文件可以存储在 S3 存储桶中。

  4. Final JSON 文件作为每个 PDF 文件的一条记录存储在 Amazon DynamoDB 中,此外还将 S3 输出存储桶中每个 PDF 文件存储一个 JSON 文件。

有关使用 Amazon Textract 自动从 PDF 文件中提取内容并将其处理成干净输出 step-by-step 的工作流程,请参阅AWS规范指南网站上的 “使用 Amazon Textract 自动从 PDF 文件中提取内容” 模式。该模式使用模板匹配技术来正确识别所需的字段、键名和表,然后对每种数据类型应用后处理更正。

处理阶段的最佳实践

使用以下四种最佳做法来确保成功的处理阶段:

  • 为要处理的每种 PDF 文件类型创建 JSON 模板文件。您可以将这些不同的模板 JSON 文件存储在 Lambda 函数调用的 S3 存储桶中。如果您想在一个 Lambda 函数中处理不同的 PDF 文件类型,则应为每种 PDF 文件类型使用唯一标识符(例如,S3 存储桶中 PDF 文件类型的文件夹名称)。调用 Lambda 函数后,它会检索相应的模板 JSON 文件并对其进行处理。

  • 设置机制以准确跟踪 Lambda 函数中每个步骤的状态。例如,您可以在 Amazon Textract 调Success用之后、将最终 JSON 文件保存到 Amazon DynamoDB 表或将 PDF 文件保存到 S3 存储桶时添加状态。您还可以创建单独的 DynamoDB 表来跟踪不同步骤中每个 PDF 文件的状态,这样可以查看流程。

  • 当您批处理许多 PDF 文件时,通过自动重试失败的操作来管理限制和连接中断。如果您的连接中断或您超过了事务数(TPS),则可能会在 Amazon Textract 中处理的最大事务数(TPS)。有关自动重试失败操作的更多信息和步骤,请参阅 Amazon Textract 文档中的处理限制呼叫和连接中断。

  • 如果您的PDF文件包含多个页面,则可以使用异步操作来处理整个文件,也可以将PDF文件分解为单个页面,使用同步操作处理每个页面,然后合并每个页面的结果。有关异步操作的完整代码实现,请参阅 Amazon Textract 文档中的检测和分析多页文档中的文本。有关使用同步操作的更多信息,请参阅 Amazon Textract 文档中的检测和分析单页文档中的文本