use*_*284 12 google-bigquery gcloud
我正在使用bq命令行工具从Bigquery表中进行查询.当我登录并开箱即运行查询过程时,有没有办法让服务帐户身份验证保持不变?
我做的步骤:
运行以下命令验证服务帐户:
gcloud auth activate-service-account --key-file /somekeyFile.p12 someServiceAccount.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)从bigquery表查询,这很好用:
bq --project_id=formal-cascade-571 query "select * from dw_test.clokTest"
Run Code Online (Sandbox Code Playgroud)但后来我从框中退出,然后重新登录.当我再次查询Bigquery表时:
bq --project_id=formal-cascade-571 query "select * from dw_test.clokTest"
Run Code Online (Sandbox Code Playgroud)
它给了我错误:
您当前的有效帐户[someServiceAccount.gserviceaccount.com]没有任何有效凭据.
即使我传入私钥文件:
bq --service_account=someServiceAccount.gserviceaccount.com --service_account_credential_file=~/clok_cred.txt --service_account_private_key_file=/somekeyFile.p12 --project_id=formal-cascade-571 query "select * from dw_test.clokTest"
Run Code Online (Sandbox Code Playgroud)
它给出了同样的错误:
您当前的有效帐户[someServiceAccount.gserviceaccount.com]没有任何有效凭据.
因此,每次我需要通过以下方式重新验证我的服务帐户:
gcloud auth activate-service-account
Run Code Online (Sandbox Code Playgroud)
有没有办法让经过身份验证的服务帐户凭据保持不变?
谢谢您的帮助.
Jor*_*ani 12
我问过GCloud开发者,他们提到了一个已知的错误,除非CLOUDSDK_PYTHON_SITEPACKAGES
设置了环境变量,否则服务帐户不会出现.
希望很快就会修复,但与此同时,当您再次登录时,可以尝试运行
export CLOUDSDK_PYTHON_SITEPACKAGES=1
Run Code Online (Sandbox Code Playgroud)
并看看它是否有效?
你可以跑
gcloud auth list
Run Code Online (Sandbox Code Playgroud)
查看哪些帐户有凭据; 它应该列出您的服务帐户.
归档时间: |
|
查看次数: |
5622 次 |
最近记录: |