ComputerVision API不允许带有SAS令牌的BlobURL

时间:2019-02-19 15:16:03

标签: azure computer-vision azure-storage-blobs azure-cognitive-services sas-token

我正在尝试使用Azure Computer Vision API (Azure认知服务)

但是问题是我的图像存储在具有私有访问权限的Blob容器中,这意味着,如果没有SAS令牌,它将无法访问。因此,当我尝试使用图片网址+ SAS 调用Computer Vision API时,它给出了错误的请求

您也可以在this site中轻松实现此问题

enter image description here

2 个答案:

答案 0 :(得分:0)

由于Computer Vision API不允许使用SAS令牌,因此不确定您是否可以将演示网页等同于最有可能不允许跨域资源共享(CORS)的演示网页。存储帐户(您可以控制)和Web应用程序(您无法控制)都需要允许CORS,因为它们是跨域的。我的建议是站起一个调用计算机视觉API的Azure Web,这样您就可以在两者上启用CORS。

https://docs.microsoft.com/en-us/rest/api/storageservices/cross-origin-resource-sharing--cors--support-for-the-azure-storage-services

答案 1 :(得分:0)

我尽力确保这仅仅是对您提供的网站上的网络演示的限制。

我可以确认通过SAS签名访问的,位于Blob上的图像是否可以与API配合使用,请参见下面的测试,其中我得到了200 OK和有效的回复内容:

demo

我还确认该演示不在网上演示中:我想他们只是在确保所提供的URL字符串以jpgjpeggif,{{1}结尾}或bmp