本页面简要介绍了标签,并说明了如何使用 Resource Manager API 和 Google Cloud Console 创建及管理标签。
什么是标签?
标签是一种键值对,可帮助您组织 Google Cloud 实例。您可以将标签附加到各项资源,然后根据标签对资源进行过滤。标签的相关信息会传递到结算系统,因此您可以根据标签来细分结算费用。
标签的常见用途
我们不建议创建大量唯一标签,例如每个 API 调用的时间戳或单个值。以下是标签的一些常见用例:
团队或成本中心标签:根据团队或成本中心添加标签,以区分不同团队所拥有的实例(例如
team:research
和team:analytics
)。您可以在核算成本或制定预算时使用此类标签。组件标签:例如
component:redis
、component:frontend
、component:ingest
和component:dashboard
。环境或阶段标签:例如
environment:production
和environment:test
。状态标签:例如
state:active
、state:readytodelete
和state:archive
。
- 虚拟机标签:此类标签可附加到虚拟机。您在过去定义的虚拟机标记将显示为没有值的标签。
标签要求
应用于资源的标签必须符合以下要求:
- 每项资源可以有多个标签,但不能超过 64 个。
- 每个标签都必须采用键值对形式。
- 键至少包含 1 个字符,最多包含 63 个字符,且不能为空。值可以为空,且最多包含 63 个字符。
- 键和值只能包含小写字母、数字字符、下划线和短划线。所有字符必须使用 UTF-8 编码,允许使用国际字符。
- 标签的键部分必须是唯一的。不过,您可以将同一个键用于多个资源。
- 键必须以小写字母或国际字符开头。
这些限制适用于每个标签的键和值,以及带有标签的各个 Google Cloud 资源。您可以在一个项目的所有资源中应用任意数量的标签。
使用 Resource Manager API 创建和管理标签
要创建带有标签的新项目,请在创建项目时设置 labels
字段。
REST
请求:
POST https://cloudresourcemanager.googleapis.com/v1beta1/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
... project = crm.projects().create( body={ 'project_id': flags.projectId, 'name': 'myproject', labels.color: "red" }).execute() ...
要为现有项目添加标签,请执行以下操作:
如需详细了解如何更新项目的标签,请参阅更新项目。
如需详细了解如何使用标签过滤项目,请参阅列出项目。
权限
您可以调用 projects.update()
方法来添加或修改标签。这需要 resourcemanager.projects.update
权限。
您可以调用 projects.get()
方法查看项目的标签。这需要 resourcemanager.projects.get
权限。
使用 Cloud Console 创建和管理标签
要为单个项目添加标签,请执行以下操作:
- 打开 Cloud Console 中的标签页面。
打开“标签”页面 - 从选择项目下拉列表中选择您的项目。
- 要添加新标签条目,请点击 + 添加标签并为要添加的每个标签输入标签键和值。
- 添加完标签后,点击保存。
要同时为多个项目添加标签,请执行以下操作:
- 打开 Cloud Console 中的管理资源页面。
打开“管理资源”页面 - 在管理资源页面中,选择要为其添加标签的组织和项目。
- 在右侧面板的标签标签中,点击 + 添加标签并为要添加的每个标签输入标签键和值。
- 添加完标签后,点击保存。
添加了标签后,您可以对项目进行过滤,方法是在项目列表上方的过滤框中输入标签键或值。过滤框会建议键和值,以便您预览结果。
目前支持标签功能的服务
目前,以下 Google Cloud 服务支持标签功能:
- App Engine(柔性环境和标准环境)
- Artifact Registry
- BigQuery
- Certificate Authority Service
- Cloud Bigtable
- Cloud Deployment Manager
- Cloud Functions
- Cloud Healthcare API
- Cloud Key Management Service
- Cloud Run(全代管式)
- Cloud Spanner
- Cloud SQL
- Cloud Storage
- Compute Engine
- Dataflow
- Dataproc
- Filestore
- Google Kubernetes Engine
- 网络
- Pub/Sub
- Resource Manager(仅限项目)