如何在大型查询查询中使用标签来跟踪费用?

时间:2018-07-02 09:59:10

标签: google-bigquery

是否可以在查询请求中使用configuration.labels属性来跟踪bigquery查询的费用?我已经指定了一些标签,并且确实在工作定义中找到了它,如您在此处看到的:

{
  "configuration": {
    "labels": {
      "label1": "tomas",
      "label2": "yolo"
    },
    "query": {
      "allowLargeResults": false,
      "createDisposition": "CREATE_IF_NEEDED",
      "destinationTable": {
        "datasetId": "dataset",
        "projectId": "project name",
        "tableId": "label "
      },
      "priority": "INTERACTIVE",
      "query": "a select query",
      "useLegacySql": false,
      "writeDisposition": "WRITE_TRUNCATE"
...
}

我还启用了计费下的计费导出功能,但是当我查看导出的数据时,找不到标签。

标签应用于数据集和表时效果很好,但是我无法将其与查询配合使用。这些查询标签是否还有其他内容,并且不会显示在帐单中?

2 个答案:

答案 0 :(得分:1)

我无法查询或过滤特定标签,但至少可以用此标签显示它们...

SELECT  service.description, cost, labels
FROM `PROJECTNAME.billing_report.gcp_billing_export_v1_016D47_E84908_9F5AB5` 
WHERE cost > 0
LIMIT 1000

答案 1 :(得分:0)

如果您使用bq命令,则可以通过如下添加--label标志来实现它

bq query \
--nouse_legacy_sql \
--label foo:bar \
'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'

然后,您可以在云日志记录中发布以下过滤器

resource.type="bigquery_resource"
protoPayload.serviceData.jobCompletedEvent.job.jobConfiguration.labels.foo="bar"

对于API或客户端库,请选中此object