Подтвердить что ты не робот

Не удается получить доступ к документу хранилища BLOB-объектов Windows, ответ "404 Ресурс не найден"

Я пытаюсь выполнить запрос PUT для создания нового BLOB. После некоторых начальных проблем с заголовком Authorization, теперь я получаю ошибку 404 Resource Not Found, когда я пытаюсь PUT файл в контейнер.

Я уверен, что у меня есть правильный URL:

https://accountNameHere.blob.core.windows.net/containerNameHere

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

Что еще может быть причиной этого (помимо отдельной возможности, что я делаю все это неправильно)?

Изменить для добавления:

Вот исходные заголовки запросов:

PUT /testss HTTP/1.1
Host: accountName.blob.core.windows.net
Accept: */*
Connection: Keep-Alive
0: content-encoding
1: content-language
2: content-length
3: content-md5
4: content-type
5: date
6: if-modified-since
7: if-match
8: if-none-match
9: if-unmodified-since
10: range
x-ms-blob-type: BlockBlob
x-ms-version: 2011-08-18
x-ms-date: Fri, 09 Aug 2013 04:17:59 GMT
Content-Length: 126377
Authorization: SharedKey accountName:MBVLmoxzxZr+tf8EZw2GkbFLEHuNn8FNAaEHrcty/cM=
Expect: 100-continue

Вот строка, которую я отправил:

PUT x-ms-blob-type:BlockBlob x-ms-date:Fri, 09 Aug 2013 04:03:20 GMT x-ms-version:2011-08-18 /accountName/test

И вот что они ожидали:

PUT 126377 x-ms-blob-type:BlockBlob x-ms-date:Fri, 09 Aug 2013 04:02:17 GMT x-ms-version:2011-08-18 /accountName/test

Единственное различие между ними - 126377 после PUT. Что длина содержимого файла, я просто не уверен, как его удалить.

4b9b3361

Ответ 1

Вы проверили настройки безопасности контейнера Blob? Возможно, у вас недостаточно прав доступа.

Ответ 2

Проверьте контейнер. На новом портале щелкните эллипсы рядом с ним и "Редактировать". Затем установите тип доступа как в Blob, так и в Container, если вы хотите разрешить листинг контейнера.

Microsoft, похоже, столкнулась с безопасностью и по умолчанию закрыла новые контейнеры.

Ответ 3

1. В приложении Azure Storage Explorer выполните следующие действия, чтобы изменить/проверить доступ.

  1. Щелкните правой кнопкой мыши на контейнере в вопросе
  2. Выберите Set Public Access Level
  3. Установите по крайней мере Public read access for blobs only.
  4. Применять.

enter image description here


2 - или На панели портала Azure выберите

  • Storage account >
  • В разделе Blob service выберите " Blob ">
  • Выберите Blob или Blobs, для которых вы хотите изменить разрешение доступа>
  • Выберите " Access policy ">
  • из выпадающего меню выберите " Blob " или " Container " анонимный доступ в зависимости от ваших потребностей

Ответ 4

Вы должны использовать Fiddler, чтобы убедиться, что вы отправляете запрос, который, по вашему мнению, вы. Затем вы можете сравнить запрос Fiddler с документацией.

Существует ли контейнер уже? Для проверки того, что он делает, стоит использовать сторонний проводник хранилища.