对象命名准则

本页面概述了在 Cloud Storage 中上传对象时应遵循的命名准则。如需了解如何上传对象,请参阅上传对象指南

对象名称要求

您的对象名称必须符合以下要求:

  • 对象名称可以包含任何有效 Unicode 字符序列(采用 UTF-8 编码时,长度为 1-1024 字节)。
  • 对象名称不能包含回车符或换行符。
  • 对象名称不能以 .well-known/acme-challenge/ 开头。
  • 对象不可命名为 ...

要详细了解回车符和换行符,请参阅换行符

强烈建议您不要在对象名称中包含以下内容:

  • 不要使用 XML 1.0 中非法的控制字符(#x7F–#x84 和 #x86–#x9F):当您尝试列出对象时,这些字符将导致 XML 列出功能出现问题。
  • 不要在对象名称中使用“#”:gsutil 会将以 #<numeric string> 结尾的对象名称解析为版本标识符,因此,如果对象名称中包含“#”,您将难以或无法使用 gsutil 对此类版本控制的对象执行操作(请参阅对象版本控制和并发控制)。
  • 不要在对象名称中使用“[”、“]”、“*”或“?”:gsutil 会将这些字符解析为通配符,因此,如果对象名称中包含它们,您将难以或无法使用 gsutil 执行通配符操作

对象名称注意事项

对象名称保存在存储分区内的平面命名空间中。这意味着:

  • 不同的存储分区可以包含名称相同的对象。
  • 对象并未保存在存储分区内的子目录中。

例如,您可以将一个对象命名为 /europe/france/paris.jpg,使 paris.jpg 看起来位于子目录 /europe/france 中,但对于 Cloud Storage 而言,该对象只是位于存储分区中且名称为 /europe/france/paris.jpg。因此,您可以在 Cloud Storage 中实现与使用斜杠分隔符的深度嵌套目录类似的结构,但这些结构的性能不如列出深度嵌套子目录的原生文件系统。

与存储分区一样,您无法直接重命名现有对象。但您可以复制对象,为复制的版本指定所需的名称,然后删除对象的原始版本。请参阅重命名对象了解分步指南,其中包括 gsutil 和 Google Cloud Console 等用于自动处理重命名过程的工具说明。

另请参阅与命名有关的最佳做法部分,其中提供了实用的建议,可帮助您了解如何从对象名称中排除专有信息。

后续步骤