ComputerVision API 不允许使用 SAS 令牌的 BlobURL
ComputerVision API doesn't allow BlobURL with SAS Token
我正在尝试使用 Azure Computer Vision API (Azure 认知服务)
分析我的图像
但问题是我的图像存储在具有 私人访问权限 的 Blob 容器中,这意味着没有 SAS 令牌它将无法访问。因此,当我尝试使用我的 图像 URL + SAS 调用计算机视觉 API 时。它给出了 错误请求
您也可以在 this site 中轻松重现此问题
不确定您是否可以将很可能不允许跨源资源共享 (CORS) 的演示网页等同于不允许 SAS 令牌的计算机视觉 API。存储帐户(您可以控制)和 Web 应用程序(您无法控制)都需要允许 CORS,因为它们是跨域的。我的建议是建立一个调用计算机视觉的 Azure Web API,这样你就可以在两者上启用 CORS。
我快速尝试了一下,以确保这只是对您提供的网站上的网络演示的限制。
我可以确认托管在 blob 上的图像,通过 SAS 签名访问,正在使用 API,请参阅下面我的测试,其中我得到了 200 OK
和有效的回复内容:
我还确认它不在网络演示中:我猜他们只是确保提供的 URL 字符串以 jpg
、jpeg
、[=13= 结尾]、bmp
或 png
我正在尝试使用 Azure Computer Vision API (Azure 认知服务)
分析我的图像但问题是我的图像存储在具有 私人访问权限 的 Blob 容器中,这意味着没有 SAS 令牌它将无法访问。因此,当我尝试使用我的 图像 URL + SAS 调用计算机视觉 API 时。它给出了 错误请求
您也可以在 this site 中轻松重现此问题
不确定您是否可以将很可能不允许跨源资源共享 (CORS) 的演示网页等同于不允许 SAS 令牌的计算机视觉 API。存储帐户(您可以控制)和 Web 应用程序(您无法控制)都需要允许 CORS,因为它们是跨域的。我的建议是建立一个调用计算机视觉的 Azure Web API,这样你就可以在两者上启用 CORS。
我快速尝试了一下,以确保这只是对您提供的网站上的网络演示的限制。
我可以确认托管在 blob 上的图像,通过 SAS 签名访问,正在使用 API,请参阅下面我的测试,其中我得到了 200 OK
和有效的回复内容:
我还确认它不在网络演示中:我猜他们只是确保提供的 URL 字符串以 jpg
、jpeg
、[=13= 结尾]、bmp
或 png