Azure Blob Storage在PUT上返回404

时间:2016-10-13 10:02:21

标签: azure azure-storage azure-storage-blobs

我创建了新的blob存储空间;设置CORS以允许所有(*)来源;创建了新的容器(dev);将容器访问策略设置为“Container”。现在,当我尝试将文件(file.txt)上传到我的容器时,我得到404 ResourceNotFound“指定的资源不存在。”响应。 我向Postman提出以下要求:

PUT /dev/file.txt HTTP/1.1
Host: mystorageaccount.blob.core.windows.net
x-ms-blob-type: BlockBlob
x-ms-date: Thu, 13 Oct 2016 09:00:00 GMT
x-ms-version: 2015-02-21
x-ms-blob-content-type: text/plain

可能有什么问题?

1 个答案:

答案 0 :(得分:4)

  

将容器访问策略设置为“Container”

将容器访问策略设置为Container仅适用于读取操作。对于写入操作,需要对请求进行身份验证。

对于身份验证,您需要按照此处所述创建Authorization标头:https://msdn.microsoft.com/en-us/library/azure/dd179428.aspx

另一种方法是使用Shared Access Signature (SAS)。您需要做的是创建一个至少具有SAS Token权限的Write并创建一个带有该令牌的SAS URL(这是您的blob url + SAS令牌)。有关共享访问签名的详细信息,请参阅此链接:https://azure.microsoft.com/en-in/documentation/articles/storage-dotnet-shared-access-signature-part-1/