Не удается получить доступ к документу Windows Azure для хранения файлов

Я создал хранилище файлов в Windows Azure и загрузил некоторые документы.

Вот как мой путь к моему файлу выглядит как https://mysite.file.core.windows.net/notes/txt.pdf

Когда я пытаюсь получить доступ к файлу из моего хранилища, я получаю эту ошибку: введите описание изображения здесь

3 ответа

Это намеренное поведение. Обратите внимание, что анонимный доступ к файлам, хранящимся в хранилище файлов, запрещен. Доступ должен быть авторизован. Поскольку вы пытаетесь получить доступ к ресурсу без авторизации, вы получаете эту ошибку.

Одним из способов авторизации доступа является создание Shared Access Signature (SAS) на уровне файла / общего ресурса с Read разрешение, а затем использовать этот URL-адрес SAS для доступа к файлу.

Это происходит потому, что вы пытаетесь получить доступ к файлу как анонимный пользователь. Если вы действительно хотите предоставить доступ анонимным пользователям, то создайте токен SAS и включите этот токен в URL:

  1. На портале Azure: перейдите в свою учетную запись хранения, затем нажмите "Подпись общего доступа" и скопируйте токен SAS:

  1. добавьте маркер SAS на свой URL: https://mysite.file.core.windows.net/notes/txt.pdf?sv=2017-11-09&ss=f&srt=o&sp=r&se=2018-11-13T19:11:42Z&st=2018-11-13T11:11:42Z&spr=https&sig=5Q7RPkCGiUdQQsAS43qrWvniK8O7Cwc4uLjHFJfTtkc%3D

Вот что сработало для меня:

Используйте пакет NuGet

"WindowsAzure.Storage"

вместо

"Microsoft.WindowsAzure.Storage"

В моем случае, blob.Exists() а также blob.AcquireLease() выдаст мне исключение HTTP-заголовка (несмотря на наличие ключа хранилища / строки подключения). 2 вышеупомянутых пакета имеют одинаковые API (в основном), но позже у меня возникли проблемы.

Другие вопросы по тегам