关键词

为了有效使用 Cloud Storage,您应了解它的一些基础概念。本页面概述了适用于 Cloud Storage 的关键术语和概念。

如需了解如何使用 Cloud Storage,请参阅什么是 Cloud Storage?

项目

Cloud Storage 中的所有数据都属于项目内容。项目包含一组用户和一组 API,以及这些 API 的结算、身份验证和监控设置。您可以拥有一个或多个项目。

存储分区

存储分区是用于存放数据的基本容器。您在 Cloud Storage 中存储的所有内容都必须包含在存储分区中。您可以使用存储分区来整理数据并控制数据的访问权限,但与目录和文件夹不同,您无法嵌套存储分区。虽然一个项目或位置中可以拥有的存储桶数量没有限制,但您可以限制创建/删除存储桶的速率

创建存储桶时,您可以为其指定全局唯一名称以及存放存储桶及其内容的地理位置。创建存储桶后,您无法更改其名称和位置,但可以删除并重新创建存储桶以实现类似结果。另外,您也可以配置可选的存储桶设置,这些设置可在存储桶创建期间进行配置,并在以后更改。

存储分区标签

存储分区标签是键值元数据对,可让您对存储分区以及其他 Google Cloud 资源(例如虚拟机实例永久性磁盘)进行分组。例如,您可以使用标签来创建一个值为 alphabetadeltateam 键,并将 team:alphateam:betateam:delta 标签应用到不同的存储分区,以便指明哪个团队与这些存储分区关联。

您可以为每个存储分区应用多个标签(每个存储分区最多可以有 64 个标签)。

  • 键和值的长度均不能超过 63 个字符。
  • 键和值只能包含小写字母、数字字符、下划线和短划线。允许使用国际字符。
  • 标签键必须以小写字母开头,允许使用国际字符。
  • 标签键不能为空。
  • 与存储分区元数据的通常情况一样,存储分区标签与个别对象或对象元数据没有关联。

如需查看在结算中使用标签来整理资源的一般示例,请参阅将结算数据导出至 BigQuery 查询的示例

对象

对象是您存储在 Cloud Storage 中的各个数据。 您可以在存储分区中创建的对象数量不受限制。

对象包含两个组成部分:对象数据对象元数据。对象数据通常是您希望在 Cloud Storage 中存储的文件,对 Cloud Storage 完全不透明。对象元数据是描述各种对象特质的“名称-值”对的集合。

对象名称

对象的名称在 Cloud Storage 中被视为一项对象元数据。 对象名称可以包含 Unicode 字符的任意组合(采用 UTF-8 编码),长度不得超过 1024 个字节,并且在存储分区中必须是唯一的。

Cloud Storage 使用平面命名空间来存储对象,这意味着 Cloud Storage 会将给定存储分区中的所有对象视为不具有任何层次关系的独立对象。为方便起见,诸如 Google Cloud Consolegsutil 等工具在处理使用斜杠 (/) 字符的对象时,可以假定这些对象存储在某个虚拟层次结构中

例如,您可以将某个对象命名为 /europe/france/paris.jpg,将另一个对象命名为 /europe/france/cannes.jpg。使用 Cloud Console 时,您可以导航到这些对象,假定它们位于 europefrance 文件夹下的目录层次结构中。

有关详情(包括如何重命名对象),请参阅对象命名准则

对象不变性

对象是不可变的,这意味着,上传的对象不会在整个存储生命周期内发生改变。对象的存储生命周期指的是从成功创建(如上传)对象到成功删除对象所经历的时间。实际上,这意味着您无法对对象进行增量更改,例如执行附加操作或截断操作。但是,您可以替换存储在 Cloud Storage 中的对象,并且此操作将以原子方式进行:在上传完新版本之前,系统会继续将对象的旧版本传送给读取者,而在上传完成之后,系统则会将对象的新版本传送给读取者。因此,单次替换操作只是标记了一个不可变对象的生命周期结束以及一个新的不可变对象的生命周期开始。

请注意,系统使用每秒一次限制来快速替换同一对象。更频繁地替换同一对象可能会导致 429 Too Many Requests 错误。您应该将应用设计为每秒最多上传一次特定对象的数据,并使用截断指数退避算法处理偶尔出现的 429 Too Many Requests 错误。

对象版本和世代号

Cloud Storage 中的对象可以具有不同的版本:默认情况下,当您替换对象时,Cloud Storage 会删除旧版本并添加新版本。如果为存储分区启用了对象版本控制功能,则当发生替换或删除操作时,旧版本将保留在存储分区中。

世代编号是对象版本的唯一标识符,此编号位于对象的元数据中。在对象版本控制功能创建对象的旧版本后,您可以使用世代号来引用此旧版本。这样,您就可以恢复存储分区中被替换或删除的对象,或永久删除不再需要的旧对象版本。在请求中加入前提条件时也会使用世代号。

资源

资源是 Google Cloud 中的实体。Google Cloud 中的每个项目、存储分区和对象都属于资源,Compute Engine 实例等也属于资源。

资源名称

每个资源都有一个唯一名称作为标识,就像文件名一样。 存储分区的资源名称采用 projects/_/buckets/BUCKET_NAME 的形式,其中,BUCKET_NAME 是存储分区的 ID。对象的资源名称采用 projects/_/buckets/BUCKET_NAME/objects/OBJECT_NAME 的形式,其中,OBJECT_NAME 是对象的 ID。

附加到资源名称末尾的 #NUMBER 表示对象的特定世代。#0 是最新对象版本的特殊标识符。当对象的名称以字符串结尾时,建议您添加 #0,否则该字符串将被解读为世代号。

网络用量

网络用量表示发送到 Cloud Storage 或从中发送的数据。

出站流量表示通过 HTTP 响应从 Cloud Storage 发送的数据。从 Cloud Storage 存储分区读取的数据或元数据是出站流量的一个例子。

入站流量表示通过 HTTP 请求发送到 Cloud Storage 的数据。写入 Cloud Storage 存储分区的数据或元数据是入站流量的一个例子。

如需了解详情,请参阅 Cloud Storage 价格Cloud Storage 配额

地理位置冗余

地理位置冗余的数据以冗余的方式存储在两个相隔至少 100 英里的不同地理位置。由于数据复制功能,存储在多区域位置和双区域位置的对象会具有地理位置冗余性,无论其存储类别如何。

系统将异步执行地理位置冗余操作,但是,在上传所有 Cloud Storage 数据之后,该数据将在至少一个地理位置产生冗余;例如,所有 Cloud Storage 数据在同一区域的至少两个可用区中产生冗余。

虽然大多数对象会在几分钟内实现地理位置冗余,但某些对象可能需要更长的时间才能复制。

即使发生大规模中断(比如自然灾害),地理位置冗余功能也可确保数据具备最高的可用性。双区域位置会使用两个特定的区域位置实现地理位置冗余。多区域位置会组合使用指定多区域位置内的任意数据中心来实现地理位置冗余,其中可能包括未明确列为可用区域的数据中心。

增强型复制

增强型复制是一项收费功能,您可以通过额外付费来使用指定的双区域存储桶。此功能提供了更短、更易于预测的恢复点目标 (RPO),有助于降低面临数据丢失的风险。增强型复制旨在于 15 分钟的目标内将与任何写入、重写、复制或组合操作关联的新写入的 Cloud Storage 对象异步复制到单独区域。

亲自尝试

如果您是 Google Cloud 新手,请创建一个帐号来评估 Cloud Storage 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。

免费试用 Cloud Storage