服务帐号和项目之间的 BigQuery 关系
Posted
技术标签:
【中文标题】服务帐号和项目之间的 BigQuery 关系【英文标题】:BigQuery Relation between service account and project 【发布时间】:2020-07-07 08:05:55 【问题描述】:我正在使用 Node 库将我的应用程序与 BigQuery 集成。我计划接受来自用户的 projectId、电子邮件和私钥,然后我将通过调用限制为 1 的 getDataset 操作来验证凭据这将确保用户传递的所有 3 个参数都是正确的。
但后来我意识到,即使我传递了不同的有效项目 ID,我对 getDataset 的调用也会通过。操作从该项目中获取数据集。所以我想知道服务帐户是否未链接到项目。知道如何验证这三个参数吗?
【问题讨论】:
如果答案有用,请考虑接受并点赞。您可以点击 ✓ 接受它并点击 ▲ 【参考方案1】:服务帐户密钥内部包含一些属性,包括 project_id、private_key、client_email 和许多其他属性。在这个page 中,您可以找到如何配置凭据以使用客户端库。
基本上,第一步是创建一个服务帐户并下载一个 JSON 密钥(我想你已经完成了这一步)
然后您需要在系统中设置一个环境变量,以便您的应用程序可以访问凭据。
对于 Linux/Mac,您可以运行:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
对于 Windows(使用 CMD):
set GOOGLE_APPLICATION_CREDENTIALS=[PATH]
【讨论】:
以上是关于服务帐号和项目之间的 BigQuery 关系的主要内容,如果未能解决你的问题,请参考以下文章
如何分别使用服务帐号和 API 密钥来使用 BigQuery?
我的服务帐号即使拥有足够的权限也无法访问 BigQuery 数据
将 Google Analytics 360 链接到 Big Query,权限问题
更改不同属性之间的来源(Big Query - Google Analytics)