为什么在将bigquery表数据写入Google云端存储时遭到拒绝访问?

时间:2019-03-31 17:06:57

标签: python google-bigquery

我可以使用python客户端库从Google BigQuery将数据加载到Google云存储中,但是当我尝试使用Cloud SDK加载数据时,却遇到了错误。

  

“访问被拒绝:BigQuery BigQuery:写入数据时被拒绝权限”

这是我正在使用的CLI命令

bq --location=US extract  --compression GZIP "project_id:dataset_d.table_if" gs://bucket_name/2019-03-31/temporary_table*.csv

此外,我无法使用Python客户端库获得工作的正确状态。无论工作是“成功”还是“失败”,Python都只给我“完成”状态。 bq工具更容易获得状态响应,这就是为什么我要切换到它。

1 个答案:

答案 0 :(得分:0)

听起来这两个工具的凭据可能有所不同。

在BQ CLI(云SDK的一部分)中,您可以配置如何使用gcloud auth命令设置凭据。例如,gcloud auth list应该枚举您为使用云SDK而设置的凭据。可以在gcloud reference docs中找到有关SDK命令的更多信息。

相反,python客户端库用户通常通过设置GOOGLE_APPLICATION_CREDENTIALS环境变量的值以指向证书来设置应用程序默认证书(ADC)。有关更多信息,请参见authentication docs

一旦两者之间的凭据一致,我就不会期望看到您所描述的行为上的差异。