使用BigQuery公共数据集作为源时,权限被拒绝

问题描述

当设置指向Big Query公共数据集的源并使用dbt模型中的source()函数引用它时,在dbt运行时出现此错误

Database Error
  Access Denied: Table bigquery-public-data:@R_257_4045@ION_SCHEMA.SCHEMATA: User does not have permission to query table bigquery-public-data:@R_257_4045@ION_SCHEMA.SCHEMATA.

似乎正在尝试从公共数据集中查询信息模式。可以在我的dbt项目中使用公共数据集作为源吗?

解决方法

这在dbt的早期版本中是预期的-这与您不能向公众(related SO question)授予bigquery-public-data.INFORMATION_SCHEMA.SCHEMATA的权限有关。

幸运的是,此问题已在dbt v0.17.0(relevant PR)中得到解决-尝试upgrading to that version,该错误应该消失了!