无法在Azure blob存储$ root容器中创建文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在Azure blob存储$ root容器中创建文件夹相关的知识,希望对你有一定的参考价值。
Azure存储允许使用名为$ root的默认容器。如in the documentation所述
使用Azure门户。当我尝试将脚本文件夹上传到我的$ root容器时,我收到错误
upload error for validate-form.js
Upload block blob to blob store failed:
Make sure blob store SAS uri is valid and permission has not expired.
Make sure CORS policy on blob store is set correctly.
StatusCode = 0, StatusText = error
我该如何解决?
[更新]
我想SAS意味着共享访问签名。我用Blob设置容器(仅对blob进行匿名读访问)我将尝试Container(对容器和blob的匿名读访问)
[更新]
我知道必须将文件放在新文件夹中才能创建文件夹。这不是那个问题。
[更新]
这是我的网站blob的样子。我可以为我的网站容器做这个,但不是我的$ root容器。
正如Create a container所述:
- 容器名称必须以字母或数字开头,并且只能包含字母,数字和短划线( - )字符。
- 每个短划线( - )字符必须紧跟在前面,后面跟一个字母或数字;容器名称中不允许使用连续短划线。
- 容器名称中的所有字母必须为小写。
- 容器名称长度必须为3到63个字符。
AFAIK,当通过Azure Storage Client Library管理你的blob存储时,我们无法创建名为$root
的容器。此外,您可以利用Azure Storage Explorer来管理您的存储资源,我认为应用了为blob容器创建名称的限制。
但是我在azure portal上测试了它,发现我可能会遇到你提到的同样的问题。我可以创建名为$root
的容器。我可以通过Azure门户和Azure存储资源管理器将文件上传到根虚拟目录。我假设容器名称以$
开头是由Azure保留的,我们无法创建它。并且您需要遵循容器名称的限制,然后您可以像往常一样上传文件。用于创建容器名称的天蓝色门户网站上的行为以$
开头并不常见。您可以发送您的反馈here。
更新:
正如你提到的Working with the Root Container:
根容器中的Blob名称中不能包含正斜杠(/)。
因此,您无法在根容器下创建虚拟文件夹作为普通blob容器。
例如:https://myaccount.blob.core.windows.net/$root/virtual-directory/myblob
,blob名称将是virtual-directory/myblob
,但它无效,你无法创建它。
UPDATE2:
您是否能够在$ root容器中创建文件夹?如果是这样,你能告诉我如何取悦。
我们无法在$root
容器中创建文件夹,因为根容器具有blob名称的限制。您无法将azure blob存储视为文件系统,文件夹信息属于blob名称,如下所示:
以上是关于无法在Azure blob存储$ root容器中创建文件夹的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Azure:如何在 blob 容器中创建子目录
在 Azure Blob 容器中创建两个文件时,如何在 Azure 数据工厂中创建事件触发器?