ComputerVision API не позволяет BlobURL с токеном SAS - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь проанализировать свои изображения с помощью Azure Computer Vision API (Azure Cognitive Service)

Но проблема в том, что мое изображение хранится в контейнере BLOB-объектовс Частным доступом , что означает, что без маркера SAS он не сможет получить доступ.Поэтому, когда я пытался вызвать API-интерфейс Computer Vision с моим URL-адресом изображения + SAS . Это дает неверный запрос

Вы можете легко воспроизвести эту проблему в thisсайт тоже

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Я быстро попытался убедиться, что это только ограничение веб-демонстрации на сайте, который вы предоставили.

Я могу подтвердить, что изображения, размещенные на BLOB-объекте, доступ к которому осуществляется через подпись SAS,Работая с API, см. ниже мой тест, где я получил 200 OK и действительный ответ:

demo

Я также подтверждаю, что это не такна веб-демонстрации: я предполагаю, что они просто гарантируют, что указанная строка URL заканчивается на jpg, jpeg, gif, bmp или png

0 голосов
/ 19 февраля 2019

Не уверен, что вы можете приравнять демонстрационную веб-страницу, которая, скорее всего, не допускает перекрестное совместное использование ресурсов (CORS), как API-интерфейс Computer Vision, не допускающий токены SAS.Учетная запись хранения (которую вы контролируете) и веб-приложение (которое вы не контролируете) должны будут разрешать CORS, поскольку они являются междоменными.Я советую настроить Azure Web, который вызывает API-интерфейс для компьютерного зрения, чтобы вы могли включить CORS на обоих.

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

...