Ответ 1
Вы проверили настройки безопасности контейнера Blob? Возможно, у вас недостаточно прав доступа.
Я пытаюсь выполнить запрос 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
. Что длина содержимого файла, я просто не уверен, как его удалить.
Вы проверили настройки безопасности контейнера Blob? Возможно, у вас недостаточно прав доступа.
Проверьте контейнер. На новом портале щелкните эллипсы рядом с ним и "Редактировать". Затем установите тип доступа как в Blob, так и в Container, если вы хотите разрешить листинг контейнера.
Microsoft, похоже, столкнулась с безопасностью и по умолчанию закрыла новые контейнеры.
1. В приложении Azure Storage Explorer выполните следующие действия, чтобы изменить/проверить доступ.
Set Public Access Level
Public read access for blobs only
.2 - или На панели портала Azure выберите
Storage account
>Blob service
выберите " Blob
">Access policy
">Blob
" или " Container
" анонимный доступ в зависимости от ваших потребностейВы должны использовать Fiddler, чтобы убедиться, что вы отправляете запрос, который, по вашему мнению, вы. Затем вы можете сравнить запрос Fiddler с документацией.
Существует ли контейнер уже? Для проверки того, что он делает, стоит использовать сторонний проводник хранилища.