【发布时间】:2022-08-04 02:39:07
【问题描述】:
在 Google Cloud Platform 中,您可以为多个资源添加标签,还可以为您执行的查询作业添加标签.我做了第二个选项。典型的代码如下所示:
bq query --label=my_label:{parameter} --label=my_label2:{parameter2} --format=json --use_legacy_sql=false \'{query}\'\"
但是,错误地,我第一次这样做:
bq query --label=my_label{parameter} --label=my_label2:{parameter2} --format=json --use_legacy_sql=false \'{query}\'\"
它创建了几个作业(我经常运行此命令),其标签名为 my_labelFoo,其值为空,而不是名为 my_label 的标签,其值为 Foo。当我们在 Billing UI 中注意到几个标签作为过滤选项时,检测到了这一点,它们都是:
my_labelFoo 我的标签栏 my_labelBaz 我的标签约翰 我的标签乔治 my_labelRingo my_labelPaul ...
那么,我试图做的是删除那些错误作业的元数据。所以我在 BigQuery 中尝试了这个查询(具有适当的权限):
SELECT job_id, query, labels FROM `my-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT WHERE ARRAY_LENGTH(labels) > 0 AND EXISTS(SELECT * FROM UNNEST(labels) l WHERE l.key = \'my_labelRingo\')\"
对于以这种方式检索到的每个job_id,我尝试调用:
from google.cloud.bigquery import Client
Client().delete_job_metadata(job_id, location=\"us\")
我可以说的是,工作条目已被删除(它们是一些数量),但是......
...当我返回计费 UI 时,我仍然从那里看到 my_labelRingo 作为可选标签.我不希望那个标签再存在了。
所以,我的问题是:
- 如何从计费 UI 中删除错误的标签?
- 是否有时间我必须等待
my_labelRingo不复存在?
-
说结算 UI 是指 GCP Console > 结算吗?
-
是的。计费控制台。
-
不完全是您要查找的内容,但请查看here。
标签: google-cloud-platform google-bigquery billing