URL-адрес хранилища файлов Azure в браузере с отображением InvalidHeaderValue

Я пытаюсь получить доступ к URL-адресу, указанному в Azure для файла в формате хранилища файлов Azure, однако я получаю эту ошибку ниже. Возможно ли это получить? Зачем им предлагать общедоступный URL, если он бесполезен? Также как я могу получить к нему доступ непосредственно из IIS?

<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format. RequestId:5d681103-0a1a-00cc-5555-5s4849000000 Time:2016-02-04T14:06:50.1786949Z
</Message>
<HeaderName>x-ms-version</HeaderName>
<HeaderValue/>
</Error>

person Mike Flynn    schedule 04.02.2016    source источник
comment
Посмотрите, отвечает ли это на ваш вопрос: stackoverflow.com/questions/35045880/   -  person Gaurav Mantri    schedule 04.02.2016
comment
Почему тогда у события есть публичный URL?   -  person Mike Flynn    schedule 04.02.2016
comment
Это URL-адрес, а не общедоступный URL-адрес. Кроме того, вы можете создать подпись общего доступа (скажем, с разрешением на чтение), добавить ее к URL-адресу, и тогда вы сможете получить доступ к файлу напрямую.   -  person Gaurav Mantri    schedule 04.02.2016
comment
Тогда как мы можем сделать общедоступный URL-адрес, например www.websitename.com, который может открыть этот индексный файл с нашего хостинга?   -  person meDeepakJain    schedule 14.12.2016
comment
Вы когда-нибудь находили решение этой проблемы?   -  person spuder    schedule 21.02.2017
comment
У меня было такое же сообщение об ошибке при использовании New-AzRmStorageShare, когда я включил параметр -AccessTier. Если отбросить этот параметр, все заработало, как ожидалось.   -  person JohnLBevan    schedule 11.06.2021


Ответы (4)


Гаурав уже упоминал аналогичный вопрос здесь где говорится, что вы должны использовать «Подпись общего доступа». В настройках учетной записи хранения в Azure вы найдете раздел «Подпись общего доступа». После нажатия кнопки «Создать SAS» вы получите «токен SAS», который необходимо добавить к своему URL-адресу.

Подпись общего доступа

person K232    schedule 18.05.2017

Если вы используете файловую службу Azure для обмена файлами, вам необходимо добавить маркер SAS после URL-адреса ваших ресурсов. например https://testiiju5zra.file.core.windows.net/alexaskillaudio/lamb.mp3?sv=SDFCSGDJ01231%&SDDFXsuSDFSDSDSSFD

Кроме того, вы можете делать то же самое, используя большие двоичные объекты Azure. Если вы используете BLOB-объекты, вам не нужно добавлять дополнительный токен после URL-адреса ресурсов. Просто создайте контейнер для BLOB-объектов и сделайте его общедоступным. И вы можете получить доступ к своему файлу, например:
https://testiiju5zra.blob.core.windows.net/blobaudiosource/lamb.mp3

person Andy Lai    schedule 06.11.2017
comment
Что, если я хочу сделать общедоступный файловый ресурс Azure без токена. Многие мои звонки будут HTTP получать с веб-страниц, где я не могу добавить этот токен. - person johnstaveley; 03.09.2018

Майк,
Полученная ошибка указывает на отсутствие заголовка x-ms-version. Но как только вы его установите, вы получите еще одну ошибку, если вы не прошли аутентификацию. Вы можете обратиться к https://msdn.microsoft.com/en-us/library/azure/dn194274.aspx, чтобы просмотреть список обязательных заголовков. В качестве альтернативы вы можете использовать клиент клиентская библиотека для запросов вместо REST API.

person Mine Tanrinian Demir - MSFT    schedule 18.02.2016

Попробуйте вместо этого использовать каплю. Вот статья, как это настроить.

https://docs.microsoft.com/en-gb/azure/storage/blobs/storage-blob-static-website-how-to?tabs=azure-portal

person Robert Moszczynski    schedule 23.09.2020