Не удается получить доступ к документу Windows Azure для хранения файлов
Я создал хранилище файлов в Windows Azure и загрузил некоторые документы.
Вот как мой путь к моему файлу выглядит как https://mysite.file.core.windows.net/notes/txt.pdf
Когда я пытаюсь получить доступ к файлу из моего хранилища, я получаю эту ошибку:
3 ответа
Это намеренное поведение. Обратите внимание, что анонимный доступ к файлам, хранящимся в хранилище файлов, запрещен. Доступ должен быть авторизован. Поскольку вы пытаетесь получить доступ к ресурсу без авторизации, вы получаете эту ошибку.
Одним из способов авторизации доступа является создание Shared Access Signature (SAS)
на уровне файла / общего ресурса с Read
разрешение, а затем использовать этот URL-адрес SAS для доступа к файлу.
Это происходит потому, что вы пытаетесь получить доступ к файлу как анонимный пользователь. Если вы действительно хотите предоставить доступ анонимным пользователям, то создайте токен SAS и включите этот токен в URL:
- На портале Azure: перейдите в свою учетную запись хранения, затем нажмите "Подпись общего доступа" и скопируйте токен SAS:
Вот что сработало для меня:
Используйте пакет NuGet
"WindowsAzure.Storage"
вместо
"Microsoft.WindowsAzure.Storage"
В моем случае, blob.Exists()
а также blob.AcquireLease()
выдаст мне исключение HTTP-заголовка (несмотря на наличие ключа хранилища / строки подключения). 2 вышеупомянутых пакета имеют одинаковые API (в основном), но позже у меня возникли проблемы.