标签工作流

标签采用键值对形式,可用于识别和分组相关工作流,以及存储工作流的相关元数据。您可以为工作流指定多个标签。

本页介绍了如何将标签与工作流结合使用。同时还介绍了如何为工作流添加、更新和移除标签。

如需在组织中 Google Cloud 对工作流和其他资源进行分组,以便进行报告、审核和访问权限控制 Google Cloud ,请使用标记。标记和标签彼此独立工作,您可以同时将它们应用于同一工作流。

什么是标签?

标签是一种键值对,可分配给 Google Cloud 工作流。它们可以帮助您按照所需的粒度大规模组织这些资源并管理费用。您可以将标签附加到各项资源,然后根据其标签对资源进行过滤。标签的相关信息会转发到结算系统,以便您按标签细分结算费用。借助内置的结算报告,您可以按资源标签对费用进行过滤和分组。您还可以使用标签查询结算数据导出

标签要求

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

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

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

标签的常见用途

以下是标签的一些常见使用场景:

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

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

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

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

  • 所有权标签:用于标识负责运营的团队,例如:team:shopping-cart

我们不建议创建大量唯一标签,例如为每个 API 调用的时间戳或个别值创建标签。这种方法的问题在于,当值经常变化或键导致目录杂乱时,很难有效地过滤和报告资源。

标签和标记

标签可用作资源可查询的注释,但不能用于设置政策的条件。通过对政策进行精细控制,标记提供了一种有条件地允许或拒绝政策的方法,具体取决于资源是否具有特定的标记。如需了解详情,请参阅标记概览

添加或更新标签

您可以在创建工作流时向工作流添加一个或多个标签。您还可以在更新工作流时添加或修改标签。

如果您更新现有标签或添加新标签,则新标签最多可能需要 10 分钟才能生效。

按标签过滤工作流

您可以按标签过滤工作流,从而搜索和列出特定工作流。

控制台

  1. 在 Google Cloud 控制台中,转到 Workflows 页面:

    进入 Workflows

  2. Filter 字段中,选择 Labels 作为过滤条件,然后在 Values 列表中选择键值对。

gcloud

--filter 标志与 gcloud workflows list 命令结合使用:

gcloud workflows list \
    --filter labels.KEY=VALUE

KEYVALUE 替换为标签键值对。

如需详细了解 Google Cloud CLI 中的过滤条件语法,请参阅 gcloud topic filters

工作流标签会被工作流的执行作业继承。如需查看执行标签,请使用 workflows.executions.list 方法列出和过滤工作流执行

删除标签

您可以使用 Google Cloud 控制台删除特定标签,也可以使用 gcloud CLI 从工作流中删除所有标签。

控制台

  1. 在 Google Cloud 控制台中,转到 Workflows 页面:

    进入 Workflows

  2. 点击您要更新的工作流的名称。

    系统随即会显示工作流详情页面。

  3. 点击 修改

    系统随即会显示修改工作流页面。

  4. 在要移除的标签旁边,点击 删除项

  5. 点击下一步

  6. 如需重新部署工作流,请点击部署

gcloud

使用值为空的 --labels 标志和 gcloud workflows deploy 命令:

gcloud workflows deploy WORKFLOW_NAME \
    --labels="" \
    --source=YAML_OR_JSON_SOURCE_FILE

替换以下内容:

  • WORKFLOW_NAME:工作流的名称。

  • YAML_OR_JSON_SOURCE_FILE:工作流的源文件,采用 YAML 或 JSON 格式。例如:myFirstWorkflow.yaml