San*_*ord 4 python google-bigquery google-cloud-platform
要创建默认的 bigquery 客户端,我使用:
from google.cloud import bigquery
client = bigquery.Client()
Run Code Online (Sandbox Code Playgroud)
这使用环境中可用的(默认)凭据。
但是我如何查看使用了哪个(默认)服务帐户?
这让我朝着正确的方向前进:
Google BigQuery Python Client using the bad credential
要查看使用的服务帐户,您可以执行以下操作:
client._credentials.service_account_email
Run Code Online (Sandbox Code Playgroud)
但是:
当您在 jupyter 笔记本(在 Vertex AI 中)上运行它时,上面的语句有效,但是当您在云函数中运行它时,print(client._credentials.service_account_email)它只会记录'default'到 Cloud Logging。但云功能的默认服务帐户应该是:<project_id>@appspot.gserviceaccount.com。
这也会给你错误的答案:
client.get_service_account_email()
Run Code Online (Sandbox Code Playgroud)
调用client.get_service_account_email()不会返回凭证的服务帐户电子邮件地址。相反,它会返回用于 KMS 加密/解密的 BigQuery 服务帐户电子邮件地址。
| 归档时间: |
|
| 查看次数: |
2656 次 |
| 最近记录: |