用于在GCP中获取每日结算/费用的API

时间:2018-09-23 20:53:14

标签: google-cloud-platform

是否有GCP API用于按服务获取每日费用细分?我需要通过程序访问“结算->报告”中显示的内容。

基本上类似于AWS的Cost Explorer API。

3 个答案:

答案 0 :(得分:2)

Google Cloud Platform公开了几种用于以编程方式查看和管理您的日常费用的机制:

  • Export to BigQuery允许将详细的帐单数据定期导出到BigQuery,包括最近支出的全部详细信息。这样可以进行更深入的分析。如评论中所述,(当前)这是您查看费用明细的唯一可用机制。

    您随后将使用Cloud Console或客户端库之一中的交互式BigQuery工具来查询数据。

  • 您可以设置Budgets并请求在达到预算支出的特定阈值时实时向您推送编程预算警报。这些警报是通过Cloud Pub / Sub传递的。指导:https://cloud.google.com/billing/docs/how-to/notify


  • Cloud Billing API (Cloud Billing API)提供了基于REST和RPC的API,用于与有关您的计费帐户的元数据进行交互。但是,它不会显示您最近支出的详情。文档:https://cloud.google.com/billing/docs/apis

答案 1 :(得分:0)

是的,有Cloud Billing API [1]。我尚未使用过AWS Cost Explorer API,因此不确定是否提供相同的功能,但请查阅文档。

[1] https://cloud.google.com/billing/reference/rest/

答案 2 :(得分:-1)

除了Cosmic Ossifrage提到的内容外,您还可以将使用情况详细信息导出到存储桶中的csv文件中。这些文件可以使用gsutil访问,并可以通过脚本进行处理。

#!/bin/bash

date="$(date -u +%Y-%m-%d --date='-1 day')"

files="$(gsutil ls gs://bucketname/*$date.csv)"

total="0"

for f in $files;
do
  sum="$(gsutil cat $f | awk -F ',' \
    'FNR==1 {for (i=1; i<=NF; i++) { f[$i] = i } } FNR>1 {sum+=$(f["Cost"])} END {print sum}')"
  total="$(echo $sum + $total | bc)"
done

echo -n GCP consumption on $date:
printf ' $%0.3f\n' $total