我们是否有 Azure Blob 文件名不支持的字符列表?

Din*_*mar 3 c# filenames azure azure-files azure-blob-storage

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

我已经在下面提到了这一点。他们没有提供任何特定的列表或找到它的方法。 https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-shares--directories--files--and-metadata

我需要对 azure blob 上的上传文件刀片上发生的文件名验证进行精确验证

Nic*_*ood 5

我认为Microsoft 文档没有非常精确地指定。

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

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

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

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

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