首页 > 解决方案 > 服务帐号和项目之间的 BigQuery 关系

问题描述

我正在使用 Node 库将我的应用程序与 BigQuery 集成。我计划接受来自用户的 projectId、电子邮件和私钥,然后我将通过调用限制为 1 的 getDataset 操作来验证凭据这将确保用户传递的所有 3 个参数都是正确的。

但后来我意识到,即使我传递了不同的有效项目 ID,我对 getDataset 的调用也会通过。操作从该项目中获取数据集。所以我想知道服务帐户是否未链接到项目。知道如何验证这三个参数吗?

标签: node.jsgoogle-bigquery

解决方案


服务帐户密钥内部包含一些属性,包括 project_id、private_key、c​​lient_email 和许多其他属性。在此页面中,您可以找到如何配置凭据以使用客户端库。

基本上,第一步是创建一个服务帐户并下载一个 JSON 密钥(我想你已经完成了这一步)

然后您需要在系统中设置一个环境变量,以便您的应用程序可以访问凭据。

对于 Linux/Mac,您可以运行:

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

对于 Windows(使用 CMD):

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

推荐阅读