shell之如何在没有 gcloud 或 gsutil 的情况下设置 "bq"(bigquery) shell 命令

java哥 阅读:48 2025-05-04 20:05:19 评论:0

我想将服务帐户信息作为参数提供给“bq”命令,以便灵活地更改其身份验证。我将一些选项传递给“bq”命令,例如:

$ bq load --service_account=<my_service_account> 
          --service_account_credential_file=<credential_output> 
          --service_account_private_key_file=<path_to_pem> 
          --project_id=<my_project> 
          <dataset>.<table> <localfile> <schema> 

在使用我的帐户配置 gsutil 后,它在我的本地 PC 上运行良好,但似乎“bq”命令在配置“gcloud”或“gsutil”之前不接受任何命令,即使提供了服务帐户信息也是如此:

> You do not currently have an active account selected. 
> Please run: 
>  
> $ gcloud auth login 
>  
> to obtain new credentials, or if you have already logged in with a different account: 
>      
> $ gcloud config set account ACCOUNT 
>  
> to select an already authenticated account to use. 

我能不能用“bq”达到这个目的?我试过导出 GOOGLE_APPLICATION_CREDENTIALS 环境,但它似乎不起作用。

提前谢谢你。

请您参考如下方法:

对于“bq”中的身份验证,有“init”命令。但即使你运行:

bq init 

系统返回以下警告:

The "init" command is no longer needed with the Cloud SDK. 
To authenticate, run gcloud auth. 

因此,似乎没有推荐的方法可以在不使用“gcloud”的情况下仅从“bq”进行身份验证。


标签:Shell
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号