适用于GCP多个项目的Google Data Studio结算报告演示

时间:2019-01-13 11:01:36

标签: google-cloud-platform google-bigquery google-data-studio

基本上,我正在尝试为多个项目设置Google Cloud Billing Report Demo。 link

中提到的示例

其中共有3个步骤,可为Data Studio配置数据源

  1. 创建帐单导出数据源
  2. 创建支出趋势数据源
  3. 创建BigQuery审核数据源

现在第一点很清楚。

第二点,演示中提供的query example基于单个项目。就我而言,我想从多个项目中支出数据源。 在这种情况下,根据每个项目执行UNION查询是否可行?

关于第三点,我需要所有项目的Bigquery审核日志。我认为为我的所有项目中的bigquery设置外部单个数据集接收器(如下所示)应该可以满足需要。

bigquery.googleapis.com/projects/myorg-project/datasets/myorg_cloud_costs

但是我看到在我的数据集表中创建的后缀为_(1),如下所示

cloudaudit_googleapis_com_activity_ (1)
cloudaudit_googleapis_com_data_access_ (1)

并且这些表尽管在所有项目中都多次运行bigquery查询,但其中不包含任何数据。实际上,预览时显示以下错误。

Unable to find table: myorg-project:cloud_costs.cloudaudit_googleapis_com_activity_20190113 

我认为带有后缀_(1)的自动生成的名称引起了一些问题,并且由于该数据也没有填充。

我认为应该有一个非常简单的解决方案,但是我无法以正确的方式思考。 有人可以在gcp datastudio帐单报表演示中提供一些有关如何解决多个项目的第二和第三要求的信息吗?

1 个答案:

答案 0 :(得分:1)

  

第二点,演示中提供的查询示例基于   一个项目。就我而言,我想从   多个项目。是否根据每个项目进行查询的UNION   在这种情况下有效?

该项目是您为BigQuery中的Bulling审核日志指定的项目。日志将附加到计费帐户,该帐户下可以包含多个项目。记帐帐户中的所有项目都将记录在日志中-更具体地说,列delete p from bookings b left join payments p on p.booking_id=b.id where b.customer_id is null; delete b from bookings b left join payments p on p.booking_id=b.id where b.customer_id is null; 中。

  

关于第三点,我需要所有项目的Bigquery审核日志。一世   考虑设置外部单个数据集接收器,如下所示   我所有项目中的bigquery都应该能够满足需要。

您使用project.id属性。参见here。如果您没有组织或使用文件夹,则需要为每个项目创建一个接收器,并将其指向BigQuery中希望所有日志存储的数据集。您可以使用includeChildren工具编写脚本。很简单。

  

我认为带有后缀_(1)的自动生成的名称引起了一些问题,并且由于该数据也没有填充。

后缀正常。另外,您的日志/接收器可能要花费几个小时才能开始流动。