首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用R Markdown文档的bigrquery对Bigquery进行身份验证

使用R Markdown文档的bigrquery对Bigquery进行身份验证
EN

Stack Overflow用户
提问于 2020-05-25 18:28:55
回答 1查看 1.2K关注 0票数 5

我在使用bigrquery从我编制的R文档中连接到GCP服务帐户时遇到了问题。当我从控制台尝试时,身份验证工作正常。两者都有

代码语言:javascript
运行
复制
library(bigrquery)
bq_auth()

代码语言:javascript
运行
复制
library(bigrquery)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")

启动一个具有对话框的浏览器,该对话框允许我按预期的方式使用指定的帐户进行选择和身份验证。但在R Markdown中,任何类似的尝试

代码语言:javascript
运行
复制
options("httr_oob_default" = TRUE)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")

甚至像这样使用完整的列表

代码语言:javascript
运行
复制
bq_auth(
  email = "my-service-account-email@myproject.iam.gserviceaccount.com",
  path = NULL,
  scopes = c("https://www.googleapis.com/auth/bigquery"),
  cache = gargle::gargle_oauth_cache(),
  use_oob = gargle::gargle_oob_default(),
  token = NULL
)

导致错误

代码语言:javascript
运行
复制
Error: Can't get Google credentials.
Are you running bigrquery in a non-interactive session? Consider:
  * Call `bq_auth()` directly with all necessary specifics.

有人能看到我错过了什么吗?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-12 14:25:50

您可以下载Google服务帐户的JSON文件,然后使用它作为“bq_auth”函数可以识别的路径。以下是步骤:

谷歌云控制台(console.cloud.google.com)

  • Navigation菜单
  1. IAM& Admin Service
  2. Accounts
  3. Create Service Account (create one)
  4. Create键,并在R标记代码中保存到"/path/to/jsonfilename.json"
  5. Authenticate:bigrquery::bq_auth(path = "/path/to/jsonfilename.json")

注意:您需要确保将服务帐户设置为能够访问BigQuery。我把我的设置为"BigQuery管理“,它起了作用,但那可能太宽泛了。

借用伊莲的答案--See在媒体上的帖子:https://medium.com/@elaine.yl.see/easiest-way-to-use-bigquery-in-r-8af466cd55ca

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62008509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档