无法访问Windows Azure Blob存储文档,"404资源未找到"响应

use*_*949 30 rest azure azure-storage azure-storage-blobs

我正在尝试执行PUT请求来创建新的BLOB.在使用Authorization标头出现一些初期问题之后,当我尝试将文件放入容器时,我现在收到404 Resource Not Found错误.

我确信我的网址是正确的:

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
Run Code Online (Sandbox Code Playgroud)

这是我发送的符号字符串:

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
Run Code Online (Sandbox Code Playgroud)

这是他们的期望:

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
Run Code Online (Sandbox Code Playgroud)

两者之间的唯一区别是126377PUT.这是文件的内容长度,我只是不确定如何删除它.

Bou*_*een 27

您是否检查过Blob容器的安全设置?可能是您没有足够的访问权限.

  • 检查`Blob服务>容器>访问策略` (10认同)

stu*_*net 13

检查你的容器.在新门户中,单击它旁边的省略号和编辑.如果要允许列出容器,请将Access类型设置为Blob或Container.

微软似乎已经提高了安全性,并默认将新容器设为私有.


Ωme*_*Man 6

1-Azure Storage Explorer应用程序中执行以下步骤以更改/验证访问。

  1. 右键单击有问题的容器的Blob
  2. 选择 Set Public Access Level
  3. 至少设置为 Public read access for blobs only
  4. 应用。

在此处输入图片说明


2-或在Azure门户面板中选择

  • Storage account >
  • Blob service部分中选择“Blob ”>
  • 选择要更改访问权限的一个或多个Blob>
  • 选择 ”Access policy ”>
  • 从下拉菜单中根据需要选择“ Blob”或“ Container”匿名访问


Nei*_*zie 0

您应该使用Fiddler来验证您是否正在发送您认为的请求。然后,您可以将 Fiddler 请求与文档进行比较。

容器已经存在吗?值得使用第三方存储浏览器来验证它是否有效。

  • 你能分享一下你发现了什么问题吗? (5认同)
  • 据说可以向 Azure 发送拉取请求,但无法在 SO 上共享他的解决方案。 (2认同)