node.js - 服务帐号和项目之间的 BigQuery 关系
问题描述
我正在使用 Node 库将我的应用程序与 BigQuery 集成。我计划接受来自用户的 projectId、电子邮件和私钥,然后我将通过调用限制为 1 的 getDataset 操作来验证凭据这将确保用户传递的所有 3 个参数都是正确的。
但后来我意识到,即使我传递了不同的有效项目 ID,我对 getDataset 的调用也会通过。操作从该项目中获取数据集。所以我想知道服务帐户是否未链接到项目。知道如何验证这三个参数吗?
解决方案
服务帐户密钥内部包含一些属性,包括 project_id、private_key、client_email 和许多其他属性。在此页面中,您可以找到如何配置凭据以使用客户端库。
基本上,第一步是创建一个服务帐户并下载一个 JSON 密钥(我想你已经完成了这一步)
然后您需要在系统中设置一个环境变量,以便您的应用程序可以访问凭据。
对于 Linux/Mac,您可以运行:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
对于 Windows(使用 CMD):
set GOOGLE_APPLICATION_CREDENTIALS=[PATH]
推荐阅读
- c# - 如何将 C++ std::push_heap 转换为 C#?
- c# - 罗斯林。将程序集引用添加到项目
- typescript - 迁移到 TypeScript 后,Console.log 在 React Native 应用程序中不起作用
- r - R中的一列中的多个日期,缺少时间和NA值
- android - 如何在android中为用户指定的时间设置多个提醒
- ios - 比较相同图像的按钮
- kivy - 在kivy中重置SelectableLabel
- spring - 我可以从 BasicAuth 实现 Header 授权吗?
- c# - 从另一个表单插入数据后 EF6 更新外键
- android - Android 支持设备 0 设备