首页 > 解决方案 > 如何切换到用户帐户以访问 bigquery

问题描述

都需要你的帮助~在GCP vm实例中,我使用nodejs编写代码,尝试访问数据集,我想使用电子邮件帐户,并尝试这种方式设置帐户:

//in linux run commond to set the account
var exec = require('child_process').exec;
var cmdStr = 'gcloud config set account email@mmm.com';
exec(cmdStr, function (err, stdout, srderr) {
if(err) {
   console.log(err);
} else { 
   console.log(out);
  }
});

当我运行它时,它使用服务帐户来访问一个大查询。任何人都可以帮我将帐户从服务帐户切换到电子邮件帐户吗?

标签: google-bigqueryuser-accounts

解决方案


运行“gcloud config set account email@mmm.com” “在您的活动配置中设置指定的属性”</a>,并且不会使用 email@mmm.com 对您的 Cloud SDK 进行身份验证。

您可以通过从命令行执行“gcloud auth init”来验证 Cloud SDK。有关详细信息,请参阅文档。请注意,这不会验证 BigQuery API,如下所述,而是验证 GCloud SDK 命令行工具,例如bq 命令行和 gcloud 命令。

要对您的 Google Cloud API 调用进行身份验证,您需要使用服务帐号密钥。请参阅文档中的步骤 3-4,了解在 node.js 中实现此目的的详细步骤。

您无法使用电子邮件帐户对 API 调用进行身份验证。解决方法是使用服务帐户模拟,请参阅文档以获取更多说明。


推荐阅读