“404 Resource Not Found” From Azure Blob Storage D

2020-08-09 04:45发布

I'm attempting to do a PUT request to create a new BLOB. After some initial trouble with Authorization header, I am now getting a 404 Resource Not Found error when I attempt to PUT a file into a container.

I feel rather certain that I have the URL right:

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

I have checked and re-checked to make sure that I'm including the container name and the account name, and they're both correct.

What else could be causing this (aside from the distinct possibility that I'm doing it all wrong)?

Edit to Add:

Here are raw request headers:

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

Here is the string to sign that I sent:

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

And here is what they expected:

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

The only difference between the two is the 126377 after PUT. That's the content length of the file, I'm just not sure how to remove it.

4条回答
We Are One
2楼-- · 2020-08-09 05:15

You should use Fiddler to verify that you are sending the request you think you are. You can then compare the Fiddler request with the documentation.

Does the container already exist? It is worth using a 3rd-party storage explorer to verify that it does.

查看更多
不美不萌又怎样
3楼-- · 2020-08-09 05:30

Have you checked the security settings of the Blob container? It might be that you don't have enough access rights.

查看更多
手持菜刀,她持情操
4楼-- · 2020-08-09 05:32

Check your container. In the new portal, click the ellipses next to it and Edit. Then set the Access type to either Blob or Container if you want to allow listing of the container.

Microsoft seems to have bumped up the security and made new containers private by default.

查看更多
干净又极端
5楼-- · 2020-08-09 05:35

1 - In the Azure Storage Explorer application do these steps to change/verify access.

  1. Right click the container's blob in question
  2. Select Set Public Access Level
  3. Set to at least Public read access for blobs only.
  4. Apply.

enter image description here


OR 2 - or In the Azure Portal Panel select

  • Storage account >
  • from Blob service Section Select "Blob" >
  • Select Blob or Blobs that you want to change the access permission >
  • Select "Access policy" >
  • from the Drop Down menu select "Blob" or "Container" anonymous access based on your needs
查看更多
登录 后发表回答