Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
本页面介绍如何为 Cloud Composer 环境分配标签,然后根据这些标签细分结算费用。
环境标签简介
环境标签是您可以分配给环境的键值对。例如,如果 owner:engineering-team
是自定义标签,则 owner
是键,engineering-team
是值。
每个环境可以有多个标签,但单个环境的标签键必须是唯一的。您可以为多个环境分配相同的键和值。
结算报告中的环境标签
您分配给环境的环境标签会在结算报告中显示,因此您可以根据标签中的键和值来细分费用。
标签不具有追溯力。例如,如果您在 5 月 15 日分配了标签,则 5 月 14 日的结算费用不会包含在已分配的标签中。
为新环境分配标签
您可以在创建环境时分配标签。如需了解详情,请参阅创建环境。
为现有环境分配标签
控制台
前往 Google Cloud 控制台中的环境页面:
选择您的环境。
转到标签标签页。
点击修改,然后点击添加标签。
为标签添加键值对,然后点击保存。
等待环境更新。
gcloud
使用 gcloud composer
命令更新环境时,以下参数指定环境的标签:
--clear-labels
移除所有标签。--update-labels
更新指定的标签;创建新标签(如果标签尚不存在)。--remove-labels
移除指定的标签;不存在的指定标签会被忽略。
如果您使用其中多个参数,则按以下顺序应用它们:--clear-labels
、--update-labels
、--remove-labels
。
更新或创建标签
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--update-labels LABEL_KEY=LABEL_VALUE
移除指定的标签
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--remove-labels LABEL_KEY
移除所有标签
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--clear-labels
您需要将其中的:
ENVIRONMENT_NAME
替换为环境的名称。LOCATION
替换为环境所在的区域。LABEL_KEY
替换为您要创建、更新或移除的环境标签键。LABEL_VALUE
替换为环境标签值。
示例
以下示例更新 owner
标签,创建新的 env
标签并移除 misc
标签:
gcloud composer environments update example-environment \
--location us-central1 \
--update-labels owner=engineering-team,env=production \
--remove-labels misc
API
更新环境时,在环境资源中指定环境的新标签。
替换所有标签
如需替换所有标签,请在 updateMask
查询参数中添加 labels
,并在请求正文中提供替换项。
// PATCH https://composer.googleapis.com/v1/
// ?{name=projects/*/locations/*/environments/*}
// &updateMask.fieldPaths=labels
{
"labels":{
"LABEL_KEY": "LABEL_VALUE"
}
}
您需要将其中的:
LABEL_KEY
替换为环境标签的键。LABEL_VALUE
替换为环境标签的新值。
例如:
// PATCH https://composer.googleapis.com/v1/
// ?{name=projects/*/locations/*/environments/*}
// &updateMask.fieldPaths=labels
{
"labels": {
"owner": "engineering-team",
"env": "production"
}
}
移除所有标签
如需移除所有标签,请在 updateMask
查询参数中添加 labels
,且不提供替换值。
更新单个标签
如要更新标签或向现有标签添加新标签,请在 updateMask
查询参数中添加 labels.LABEL_KEY
,并在请求正文中提供替换项。
// PATCH https://composer.googleapis.com/v1/
// ?{name=projects/*/locations/*/environments/*}
// &updateMask=labels.LABEL_KEY
{
"labels":{
"LABEL_KEY": "LABEL_VALUE"
}
}
您需要将其中的:
LABEL_KEY
替换为环境标签的键。LABEL_VALUE
替换为环境标签的新值。
例如:
// PATCH https://composer.googleapis.com/v1/
// ?name=projects/example-project/locations/
// us-central1/environments/example-environment
// &updateMask=labels.owner,labels.env
{
"labels": {
"owner": "engineering-team",
"env": "production"
}
}
移除单个标签
如需移除标签,请在 updateMask
查询参数中添加 labels.LABEL_KEY
,且不提供替换值。
Terraform
如要使用指定位置的默认参数创建环境,请修改 Terraform 配置中的 labels
块并运行 terraform apply
。
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
labels = {
LABEL_KEY = "LABEL_VALUE"
}
}
您需要将其中的:
- 将
LABEL_KEY
替换为您要创建或更新的环境标签键。如需移除标签,请删除其字段。 LABEL_VALUE
替换为环境标签值。
例如:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
labels = {
owner = "engineering-team"
env = "production"
}
}
查看报告中的标签
您的环境标签传播到结算报告后,您可以根据以下标签来细分结算费用:
在报告页面上:
- 点击显示过滤条件。
- 在过滤条件对话框中,展开标签部分。
- 根据环境标签的键和值过滤显示的数据。