擅长:python、mysql、java
<p>仅添加一些上下文,在Blob存储中不可能这样做的原因是文件夹/目录不是“真实的”。文件夹不作为独立对象存在,它们仅定义为blob名称的一部分</p>
<p>例如,如果您有一个文件夹“mystuff”,其中包含一个文件(blob)“somefile.txt”,则blob名称实际上包括文件夹名称和“/”字符,如<em>mystuff/somefile.txt</em>。blob直接存在于容器中,而不是文件夹中。此命名约定可以多次嵌套在blob名称中,如<em>folder1/folder2/mystuff/anotherfolder/somefile.txt</em>,但该blob仍然直接存在于容器中</p>
<p>文件夹可能会出现在某些工具中(如<a href="https://azure.microsoft.com/en-us/features/storage-explorer/" rel="nofollow noreferrer">Azure Storage Explorer</a>),因为SDK允许blob名称筛选:如果使用“/”字符进行筛选,则可以模拟文件夹及其内容的外观。但为了让文件夹看起来存在,容器中必须有具有适当名称的blob。如果您想要“强制”一个文件夹存在,您可以在名称中创建一个具有正确文件夹路径的0字节blob,但是blob工件仍然需要存在</p>
<p>例外情况是<a href="https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction" rel="nofollow noreferrer">Azure Data Lake Storage (ADLS) Gen 2</a>,它是实现<a href="https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-namespace" rel="nofollow noreferrer">Hierarchical Namespace</a>的Blob存储。这使它更像一个文件系统,因此尊重目录作为独立对象的概念。ADL是建立在Blob存储上的,因此两者之间存在很多奇偶性。如果绝对必须有空目录,那么ADL就是一种选择</p>