Azure 计算机视觉 API 可以访问 AWS S3 中的图像文件吗?

Can Azure computer vision API access image file in AWS S3?

AWS 目前是我组织中批准的云供应商。对于与 OCR 相关的新用例,我正在探索 Azure 中的计算机视觉服务(阅读该服务比相应的 AWS Textract 服务更好)。我们的方法是在 S3 中维护输入图像文件,使用 AWS Lambda 函数调用 Azure Computer Vision 服务(通过 REST API 或 Python SDK)。 AWS 将成为大多数方面(特别是存储)的主要云供应商,我们计划通过 API 访问 Azure 服务以满足其他需求。

我的问题是 Azure API/SDK 是否会接受 S3 中的图像文件作为输入(当然我们会做任何必要的事情来使 Azure API 安全地访问 S3 中的文件)?当我阅读 Azure 文档时,它说图像应该可以作为 URL 访问,并且没有提到图像需要存在于 Azure 存储中。图片 URL 是否应该公开访问(相信不应该这样)?

不幸的是,Cognitive API 在传递 URL 时不支持身份验证。

一种方法是编写一个 Azure 函数:

  1. 正确验证到 S3 并使用 Amazon S3 API
  2. 读取图像文件
  3. 将文件转换为 ByteArray
  4. 将字节数组发送到计算机视觉API
  5. Computer Vision API 接收 JSON 结果并进行相应处理

您可以让 Azure 函数执行您需要的业务逻辑并处理和存储结果,或者您可以将函数构建为 Web 服务代理,将 S3 位置作为参数并 returns计算机视觉结果。

您还可以使用 Lambda 在 AWS 中构建功能。