【问题标题】:How to get billing information programmatically from Google Cloud Platform?如何以编程方式从 Google Cloud Platform 获取帐单信息?
【发布时间】:2018-04-19 11:20:26
【问题描述】:
我想要编写一个实用程序,它可以动态地为我的项目获取计费信息,但我无法从 GCP 中找到任何特定的 API 来做同样的事情。
我尝试了几个 API,例如 getBillingInfo,但这些 API 只提供有关计费帐户的信息,而不是定价。
他们有将计费数据导出到文件的机制,但我想以编程方式进行。有没有 API 可以做同样的事情?
【问题讨论】:
标签:
google-cloud-platform
google-cloud-billing
【解决方案1】:
有两种方法可以从 Google Cloud Platform 获取帐单数据:
- 将结算数据导出到 BigQuery
- 将帐单数据导出到文件
对于 BigQuery:
- 启用将帐单导出到 BigQuery
- 创建 BigQuery 客户端
- 运行查询以获取结算数据
查询获取每日费用:
"SELECT SUM(cost) AS cost FROM `"+ PROJECT_ID + "." + DATA_SET + "." + TABLE_NAME + "`" + "WHERE CAST(DATE(_PARTITIONTIME) AS DATE) = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)"
对于文件:
- 启用帐单导出到文件
- 编写代码以从存储桶中下载对象
- 遍历下载的文件并执行“成本”属性的求和
希望这会有所帮助:)。