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

rest azure azure-storage azure-storage-blobs

15886 观看

4回复

1243 作者的声誉

我正在尝试执行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

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

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

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

作者: user1091949 的来源 发布者: 2013 年 8 月 9 日

回应 (4)


0

2694 作者的声誉

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

容器是否已经存在?值得使用第三方存储资源管理器来验证它是否存在。

作者: Neil Mackenzie 发布者: 09.08.2013 03:24

25

304 作者的声誉

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

作者: Boudewijn van Veen 发布者: 30.03.2015 01:21

10

1869 作者的声誉

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

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

作者: stuartdotnet 发布者: 20.07.2015 10:29

3

16350 作者的声誉

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或Blob>
  • 选择“ Access policy”>
  • 从下拉菜单中选择“ Blob”或“ Container”匿名访问,根据您的需要
作者: ΩmegaMan 发布者: 22.01.2019 03:29
32x32