创建和管理标签

本页面简要介绍了标签,并说明了如何使用 Resource Manager API 和 Google Cloud Console 创建及管理标签。

什么是标签?

标签是一种键值对,可帮助您组织 Google Cloud 资源。您可以将标签附加到各项资源,然后根据其标签对资源进行过滤。标签的相关信息会传递到结算系统,因此您可以按标签来细分结算费用

标签可用作资源可查询的注释,但不能用于设置政策的条件。标记提供了一种根据资源是否有特定标记,有条件地允许或拒绝政策的方法。如需了解详情,请参阅标记概览

标签的常见用途

我们不建议创建大量唯一标签,例如每个 API 调用的时间戳或单个值。以下是标签的一些常见用例:

  • 团队或成本中心标签:根据团队或成本中心添加标签,以区分不同团队(例如 team:researchteam:analytics)所拥有的资源。您可以在进行成本核算或预算时使用此类标签。

  • 组件标签:例如 component:rediscomponent:frontendcomponent:ingestcomponent:dashboard

  • 环境或阶段标签:例如 environment:productionenvironment:test

  • 状态标签:例如 state:activestate:readytodeletestate:archive

  • 虚拟机标签:此类标签可附加到虚拟机。您在过去定义的虚拟机标记将显示为没有值的标签。

标签要求

应用于资源的标签必须符合以下要求:

  • 每项资源可以有多个标签,但不能超过 64 个。
  • 每个标签都必须采用键值对形式。
  • 键至少包含 1 个字符,最多包含 63 个字符,且不能为空。值可以为空,且最多包含 63 个字符。
  • 键和值只能包含小写字母、数字字符、下划线和短划线。所有字符必须使用 UTF-8 编码,允许使用国际字符。
  • 标签的键部分必须是唯一的。不过,您可以将同一个键用于多个资源。
  • 键必须以小写字母或国际字符开头。

这些限制适用于每个标签的键和值,以及带有标签的各个 Google Cloud 资源。您可以对一个项目的所有资源应用任意数量的标签。

权限

您可以调用 projects.projects.patch() 方法来添加或修改标签。这需要 resourcemanager.projects.update 权限。

您可以调用 projects.get() 方法查看项目的标签。这需要 resourcemanager.projects.get 权限。

创建标签

控制台

要为单个项目添加标签,请执行以下操作:

  1. 打开 Cloud Console 中的标签页面。

    打开“标签”页面

  2. 选择项目下拉列表中选择您的项目。

  3. 要添加新标签条目,请点击 + 添加标签并为要添加的每个标签输入标签键和值。

  4. 添加完标签后,点击保存

要同时为多个项目添加标签,请执行以下操作:

  1. 打开 Cloud Console 中的管理资源页面。

    打开“管理资源”页面

  2. 管理资源页面中,选择要为其添加标签的项目。

  3. 在信息面板的标签标签页中,点击 + 添加标签并为要添加的每个标签输入标签键和值。

  4. 添加完标签后,点击保存

添加了标签后,您可以对项目进行过滤,方法是在项目列表上方的过滤框中输入标签键或值。过滤框会建议键和值,以便您预览结果。

REST

要创建带有标签的项目,请在创建项目时设置 labels 字段。

请求:

POST https://cloudresourcemanager.googleapis.com/v3/projects

{
 "labels": {
  "color": "red"
 },
 "name": "myproject",
 "projectId": "our-project-123"
}

响应:


{
 "projectNumber": "333197460082",
 "projectId": "our-project-123",
 "lifecycleState": "ACTIVE",
 "name": "myproject",
 "labels": {
  "color": "red"
 },
 "createTime": "2016-01-12T22:18:28.633Z",
}

要为现有项目添加标签,请执行以下操作:

添加标签后,您可以根据标签过滤项目。如需详细了解如何使用标签过滤项目,请参阅列出项目

Python

要创建带有标签的项目,请在使用 projects.create() 方法创建项目时设置 labels 字段。

如需为现有项目添加标签,请执行以下操作:

添加标签后,您可以根据标签过滤项目。如需详细了解如何使用标签过滤项目,请参阅列出项目

更新标签

控制台

如需更新单个项目的标签,请执行以下操作:

  1. 打开 Cloud Console 中的标签页面。

    打开“标签”页面

  2. 选择项目下拉列表中选择您的项目。

  3. 更新项目的标签:

    1. 如需修改标签,请点击要修改的键或值,然后进行所需的更改。
    2. 要删除标签,请将指针悬停在键或值上,然后点击
  4. 更新完标签后,点击保存

要同时为多个项目更新标签,请执行以下操作:

  1. 打开 Cloud Console 中的管理资源页面。

    打开“管理资源”页面

  2. 管理资源页面中,选择要为其更新标签的项目。

  3. 在信息面板中,点击标签标签页并更新所选项目的标签:

    1. 如需修改标签,请点击要修改的键或值,然后进行所需的更改。
    2. 要删除标签,请将指针悬停在键或值上,然后点击
  4. 更新完标签后,点击保存

REST

要更新项目的标签,请执行以下操作:

  • 使用 projects.get() 方法获取 project 对象。

  • 修改要更新的标签。

  • 调用 projects.patch 方法。

以下示例会更新标签 color:blue

以下代码段会将 color 标签的值从 blue 更改为 red

请求:

PATCH https://cloudresourcemanager.googleapis.com/v3/{project.name=PROJECT_NAME}
{
  updateMask=labels
}

其中,PROJECT_NAME 是要更新的项目的名称。

请求 JSON 正文:

{
    "labels":
      {
        "color": "red"
      }
}

响应:

{
    "projects": [
    {
        "name": "projects/123456789012",
        "parent": "folders/123456789012",
        "projectId": "my-project",
        "state": "ACTIVE",
        "displayName": "PROJECT_NAME"
        "createTime": "2013-11-13T20:31:53.308Z"
        "updateTime": "2013-11-13T20:35:42.308Z"
        "etag": "BwWUlZ6XEfY="
        "labels": {
            "color": "red"
        },
    }
    ]
}

Python

要更新项目的标签,请执行以下操作:

支持标签的服务

以下 Google Cloud 服务支持标签功能:

  • AI Platform
  • App Engine(柔性环境和标准环境)
  • Artifact Registry
  • BigQuery
  • Certificate Authority Service
  • Cloud Bigtable
  • Cloud Composer
  • Cloud Deployment Manager
  • Cloud Functions
  • Cloud Healthcare API
  • Cloud Key Management Service
  • Cloud Run
  • Cloud Spanner
  • Cloud SQL
  • Cloud Storage
  • Cloud Translation
  • Compute Engine
  • Dataflow
  • Dataproc
  • Filestore
  • Google Kubernetes Engine
  • Memorystore
  • 网络
  • Pub/Sub
  • reCAPTCHA Enterprise
  • Resource Manager(仅限项目)