我们是否有天蓝色blob文件名不支持的字符列表?

时间:2019-02-21 11:08:39

标签: c# azure filenames azure-storage-blobs azure-files

我正在将一些带有一些特殊字符的文件上传到Blob。它没有被上传。我发现在命名天蓝色的文件时存在一些限制。因此,我需要用于blob文件名的不受支持的unicode字符列表,或者用于查找azure blob文件名是否支持字符的方法。

我在下面提到了此文档。他们没有提供任何特定的列表或方式来找到它。 https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-shares--directories--files--and-metadata

I need the exact validation of file name validation happening on upload file blade on azure blob

2 个答案:

答案 0 :(得分:0)

这是正确的文档: https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names

  

blob名称必须符合以下命名规则:

     
      
  • blob名称可以包含任何字符组合。

  •   
  • 对于Azure存储中的blob,blob名称的长度必须至少一个字符,并且不能超过1,024个字符。

         

    Azure存储模拟器支持最多256个字符的Blob名称   长。有关更多信息,请参见Use the Azure storage emulator for development and testing

  •   
  • Blob名称区分大小写。

  •   
  • 保留的URL字符必须正确转义。

  •   
  • 包含Blob名称的路径段的数量不能超过254。路径段是与该名称相对应的连续定界符(例如,正斜杠'/')之间的字符串。   虚拟目录。

  •   
     

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

     

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

     
      
  • / a

  •   
  • /a.txt

  •   
  • / a / b

  •   
  • /a/b.txt

  •   
     

在枚举blob时可以利用定界符。

注意:您问题中提到的doc用于 Azure文件存储,而不是 Azure Blob存储,因此它不是正确的。< / p>

答案 1 :(得分:0)

我认为Microsoft Docs的定义不太精确。

blob名称必须符合以下命名规则:

  • blob名称可以包含任何字符组合。
  • 对于Azure存储中的blob,blob名称的长度必须至少一个字符,并且不能超过1,024个字符。
  • Blob名称区分大小写。
  • 保留的URL字符必须正确转义。
  • 包含blob名称的路径段的数量不能超过254。路径段是连续的分隔符之间的字符串(例如,正斜杠“ /”),该字符串与虚拟目录的名称相对应。

在测试中,我发现您不能在Azure Blob名称中包含这些字符

  • 控制字符0x00-0x1F
  • 删除0x7F
  • 反斜杠'\'-Azure将其转换为正斜杠'/'
  • 以句号“。”结尾的名称。

我使用Azure Blob go SDK进行了这些测试,因此某些限制可能是由于这个原因造成的。