Windows Azure Blob存储。对象名

时间:2016-02-09 09:34:09

标签: php azure azure-storage

我在项目中使用Windows Azure Blob存储来存储数据。 我上传文件和文件夹。文件夹只是0大小的对象,名称以' /'

结尾

我发现如果我尝试使用" zzz命名文件夹。"然后在天蓝色的我会得到" zzz" (。 已移除) 另外,z.z.z。转换为zzz,但不转换z.z.z. 所以,它看起来像。在对象名称的末尾,所有点都被删除。

请求就像

PUT myblob.blob.core.windows.net/myblobtop/zzz.?timeout=30
headers:
[Content-Encoding] => 
[Content-Language] => 
[Content-Length] => 0
[Content-MD5] => 
[Content-Type] => application/directory
[x-ms-version] => 2009-09-19
[Connection] => Keep-Alive
[x-ms-blob-type] => BlockBlob

然后有一个名为myblobtop / zzz的对象,没有。最后

有谁知道这是什么以及如何解决? 也许有些url编码要编码。到底?

我使用此API调用添加文件夹https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx

1 个答案:

答案 0 :(得分:3)

你不能拥有。在blobname的末尾:

  

Blob Names

     

blob名称必须符合以下命名规则:blob名称   可以包含任何字符组合。 blob名称必须为   至少一个字符长,不能超过1,024个字符   长。

     

Blob名称区分大小写。

     

必须正确转义保留的网址字符。路径的数量   包含blob名称的段不能超过254.路径段是   连续分隔符之间的字符串(例如,前向字符串)   斜杠' /)对应于虚拟目录的名称。   System_CAPS_noteNote

     

避免使用以点(。),正斜杠(/)或a结尾的blob名称   序列或两者的组合。

     

Blob服务基于平面存储方案,而不是分层结构   方案。但是,您可以指定字符或字符串分隔符   在blob名称中创建虚拟层次结构。例如,   以下列表显示有效和唯一的blob名称。注意一个字符串   可以作为blob名称和虚拟目录名称有效   同一个容器:

     

/ a

     

/a.txt

     

/ a / b

     

/a/b.txt

     

枚举时可以利用分隔符   斑点。

Naming and Referencing containers

相关问题