对象元数据

本页面讨论了 Cloud Storage 中随同对象一起存储的元数据字段。要了解如何查看和设置对象的元数据,请参阅查看和修改对象元数据

简介

存储在 Cloud Storag 中的对象具有关联的元数据。元数据用于标识对象的属性,并指定了访问对象时应如何处理对象。元数据以键值对的形式存在。例如,对象的存储类别由元数据条目 storageClass:REGIONAL 表示。storageClass 是元数据的键,所有对象均有这样一个与其关联的键REGIONAL 指定了此特定对象具有的值,该值因对象而异

元数据的可变性各不相同:有些元数据您随时可以修改,有些元数据您只能在创建对象时设置,有些元数据您只能查看。例如,您随时可以修改 Cache-Control 元数据的值,但您只能在创建或重写对象时分配 storageClass 元数据,并且您无法直接修改 generation 元数据的值(虽然当对象被覆盖时,generation 值会发生更改)。

可修改的元数据

用户可以更改对象的两类元数据:

  • 固定键元数据:设置了键的元数据(但您可以为该元数据指定值)。

  • 自定义元数据:通过指定键以及与该键关联的值而添加的元数据。

修改元数据时,通常应避免使用非 ASCII 字符,因为 XML API 使用的 HTTP 标头中不允许包含这些字符。使用 XML API 时,请求网址和 HTTP 标头的总大小也不得超过 16KB,因此,元数据的总大小应将此限制考虑在内。

固定键元数据

您可以修改对象的以下元数据,但您必须具有足够的权限

访问控制元数据

Cloud Storage 使用 Identity and Access Management (IAM)访问控制列表 (ACL) 来控制对象的访问权限。您可以访问这些链接,了解这些访问控制方法和相关元数据。

Cache-Control

Cache-Control 元数据可以指定有关如何从 Cloud Storage 中传送数据的两个不同方面:是否可以缓存数据,以及是否可以转换数据。

缓存数据

通过 Cache-Control 元数据,您可以控制是否允许浏览器和互联网缓存为对象建立缓存,以及缓存的时长。将 Cache-Control 的值设为 no-cache,即表示对象不应被缓存;将此值设为 max-age=[TIME_IN_SECONDS],即表示对象可被缓存,最长缓存时间为指定的时长。

Cache-Control 仅适用于可公开访问的对象,因为非公开数据无法被缓存。除非另行指定,否则可公开访问的对象的 Cache-Control 将被设为 3600 秒。

如果允许缓存,则在下载时,您可能会看到对象的较旧版本。即使在上传较新的替代对象之后,也会出现这种情况,这是因为较旧的对象会在缓存中保留一段时间。此外,由于对象可能会在互联网上的各个位置缓存,因此无法在全局范围内强制缓存对象到期。如果要阻止可公开读取的对象被缓存,您应在对象上设置 Cache-Control:private

转换数据

Cache-Control 元数据还允许您按原样传送存储的对象,而不对数据应用任何转换,例如为不兼容的客户端移除 gzip 内容编码。要按原样传送对象,请设置 Cache-Control:no-transform

Content-Disposition

Content-Disposition 元数据指定了与要传输的数据有关的展示信息。通过设置 Content-Disposition,您可以控制内容的展示样式,例如,确定是否应自动显示附件,或者是否需要用户采取某种形式的操作才能打开它。如需了解 Content-Disposition 规范,请参阅 https://tools.ietf.org/html/rfc6266 上的信息。

Content-Encoding

Content-Encoding 元数据可用于指示对象已被压缩,同时您仍可保留对象的基础 Content-Type。例如,以 gzip 格式压缩的文本文件可能具有以下特征:Content-Type 表明这是一个文本文件,而 Content-Encoding 表明该文件已采用 gzip 格式进行压缩。您应确保在上传文件之前使用指定的 Content-Encoding 压缩文件,否则,在尝试下载对象时,可能会发生意外行为。有关详情,请参阅“转码”页面

对于可压缩的内容(比如文本),使用 Content-Encoding: gzip 可以节省网络和存储费用,并提高内容传送性能。但是,对于本身已经压缩的内容(例如归档和许多媒体格式),不建议对这些内容应用另一层压缩并在 Content-Encoding 元数据中进行标记,此做法通常会给对象大小和性能带来负面影响,应避免如此操作。

Content-Language

Content-Language 元数据指示了对象面向的语言。如需了解此元数据支持的值,请参阅 ISO 639-1 语言代码。

Content-Type

最常设置的元数据是 Content-Type(也称为 MIME 类型),它允许浏览器正确呈现对象。所有对象都在自己的 Content-Type 元数据中指定了一个值,但此值不需要与对象的基础类型匹配。例如,如果上传者未指定 Content-Type,也无法确定此属性,则此属性会被设置为 application/octet-streamapplication/x-www-form-urlencoded(具体取决于您上传对象的方式)。如需查看有效的 MIME 类型列表,请参阅 IANA 媒体类型页面。

自定义元数据

自定义元数据是您可以添加和移除的元数据。要创建自定义元数据,您需要同时指定值和键。创建自定义元数据 key:value 对后,您可以删除键或更改值。

“查看和修改元数据”页面包含有关设置自定义元数据的信息。请注意,使用自定义元数据会产生存储空间和网络费用

不可修改的元数据

您无法直接修改某些元数据。此元数据在创建或重写对象时进行设置。在对象的创建或重写过程中,您可以设置某些此类元数据,例如对象的存储类别客户提供的加密密钥。其他元数据会被自动添加,并且您只能查看这些元数据而不能做任何修改,例如对象的世代编号或创建时间。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Storage
需要帮助?请访问我们的支持页面