我创建了新的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
可能有什么问题?
答案 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/。