我可以使用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
工具更容易获得状态响应,这就是为什么我要切换到它。
答案 0 :(得分:0)
听起来这两个工具的凭据可能有所不同。
在BQ CLI(云SDK的一部分)中,您可以配置如何使用gcloud auth
命令设置凭据。例如,gcloud auth list
应该枚举您为使用云SDK而设置的凭据。可以在gcloud reference docs中找到有关SDK命令的更多信息。
相反,python客户端库用户通常通过设置GOOGLE_APPLICATION_CREDENTIALS
环境变量的值以指向证书来设置应用程序默认证书(ADC)。有关更多信息,请参见authentication docs。
一旦两者之间的凭据一致,我就不会期望看到您所描述的行为上的差异。