你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

迁移到 Read OCR 容器的 v3.x

如果正在使用 Azure AI 视觉 Read OCR 容器的版本 2,请通过本文来了解如何将应用程序升级为使用该容器的版本 3.x。

API 更改

“读取”v3.2 容器使用 Azure AI 视觉 API 的版本 3,并具有以下终结点:

  • /vision/v3.2/read/analyzeResults/{operationId}
  • /vision/v3.2/read/analyze
  • /vision/v3.2/read/syncAnalyze

有关更新应用程序以使用基于云的读取 API 版本 3 的详细信息,请参阅 Azure AI 视觉 v3 REST API 迁移指南。 同步操作仅在容器中受支持。

配置更改

  • ReadEngineConfig:ResultExpirationPeriod 不再受支持。 Read OCR 容器具有一个内置 Cron 作业,该作业会在 48 小时后删除与请求关联的结果和元数据。
  • Cache:Redis:Configuration 不再受支持。 v3.x 容器中未使用缓存,因此无需进行设置。

内存需求

这些要求和建议基于这样的基准:每秒一个请求,使用包含 29 行和总共 803 个字符的经过扫描的业务信函的 523-KB 映像。 下表显示了每个 Read OCR 容器的最小和建议资源分配。

容器 最小值 建议
Read 3.2 2022-04-30 4 个内核,8 GB 内存 8 个内核,16 GB 内存

每个核心必须至少为 2.6 千兆赫 (GHz) 或更快。

内核和内存对应于 --cpus--memory 设置,这些设置用作 docker run 命令的一部分。

存储实现

注意

容器版本 3.x 不再支持 MongoDB, 而支持 Azure 存储和脱机文件系统。

实现 所需的运行时参数
文件级别(默认值) 无需任何运行时参数。 将使用 /share 目录。
Azure Blob Storage:ObjectStore:AzureBlob:ConnectionString={AzureStorageConnectionString}

队列实现

在容器 v3.x 中,目前不支持 RabbitMQ。 支持的后备实现包括:

实现 运行时参数 预期用途
内存中(默认值) 无需任何运行时参数。 开发和测试
Azure 队列 Queue:Azure:ConnectionString={AzureStorageConnectionString} 生产
RabbitMQ 不可用 生产

为了提高冗余性,Read v3.x 容器使用可见性计时器来确保在采用多容器设置运行时,即使发生崩溃也可成功处理请求。

使用 Queue:Azure:QueueVisibilityTimeoutInMilliseconds 设置计时器,以设置另一个工作线程处理消息时,该消息不可见的时长。 为了避免重复处理页面,建议将超时期限设置为 120 秒。 默认值为 30 秒。

默认值 建议的值
30000 120000

后续步骤