GCP 结算数据 Bigquery

GCP Billing Data Bigquery

提问人:DAK 提问时间:11/16/2023 更新时间:11/16/2023 访问量:25

问:

我正在使用以下查询从 Bigquery 获取计费数据。 在这里,我使用毫秒 (UTC) 给出了usage_start_time和结束时间标准。我使用 1 小时差来查询数据,查询整月有 1 小时差。

在这种方法中,我得到的是上个月的发票数据,这些数据是在下个月的第一天。后来我发现 GCP 使用太平洋时区进行计费。需要进行哪些更改才能获得与发票匹配的正确数据?我必须以 1 小时的差异进行查询,否则会有更多的响应,内存将不够。与此 UTC 的屏幕截图一样,我在 8 月获得了 7 月的数据enter image description here

SELECT  *
        FROM `XXXXXXXXX.XXXXXXXXXX.gcp_billing_export_resource_v1_XXXXXXXXXXXX` 
        WHERE _PARTITIONTIME BETWEEN TIMESTAMP_MILLIS(1690416000000) AND 
            TIMESTAMP_MILLIS(1691020800000) AND cost!=0 AND
            usage_start_time>=TIMESTAMP_MILLIS(1690848000000) AND 
            usage_end_time <=TIMESTAMP_MILLIS(1690851600000)
google-cloud-platform 成本管理 spring-cloud-gcp-bigquery

评论


答:

0赞 Mel 11/24/2023 #1

我将解决此问题的方法是通过在查询执行之前转换时区,将 PST 计费数据中的日期/时间值与 UTC 对齐。

PST 是 UTC 的加 8 小时,只需减去等效毫秒,即 28800000,即可将所有日期/时间数据校准为 UTC,例如 .这样,当您在查询中比较日期范围时,两个数据集将对齐并返回准确的结果。TIMESTAMP_MILLIS(1690848000000 - 28800000)

在这里添加几个文档供您参考: