ComputerVision API不允许BlobURL使用SAS令牌

问题描述 投票:0回答:2

我正在尝试使用Azure Computer Vision API(Azure认知服务)分析我的图像

但问题是我的Image存储在具有私有访问权限的Blob容器中,这意味着没有SAS令牌它将无法访问。因此,当我尝试使用我的图像URL + SAS调用计算机视觉API时,它提出了错误的请求

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

enter image description here

azure computer-vision azure-storage-blobs azure-cognitive-services sas-token
2个回答
0
投票

我试着快速确保这只是对您提供的网站上的网络演示的限制。

我可以确认通过SAS签名访问的blob上托管的图像正在使用API​​,请参阅下面的测试,其中我获得了200 OK和有效的回复内容:

demo

我也确认它不在网络演示中:我猜他们只是确保提供的URL字符串以jpgjpeggifbmppng结尾


0
投票

不确定您是否可以将最有可能不允许跨源资源共享(CORS)的演示网页等同于不允许使用SAS令牌的计算机视觉API。存储帐户(您可以控制)和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

© www.soinside.com 2019 - 2024. All rights reserved.