使用 R Markdown 文档中的 bigrquery 对 Bigquery 进行身份验证
Authentication for Bigquery using bigrquery from an R Markdown document
我在使用 bigrquery
从我编织的 R Markdown 文档中连接到 GCP 服务帐户时遇到问题。当我从控制台尝试时,身份验证工作正常。两者
library(bigrquery)
bq_auth()
和
library(bigrquery)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")
启动带有对话框的浏览器,让我按预期选择并使用指定帐户进行身份验证。但是在 R Markdown 中,任何像
这样的尝试
options("httr_oob_default" = TRUE)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")
甚至像这样使用完整列表
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
)
导致错误
Error: Can't get Google credentials.
Are you running bigrquery in a non-interactive session? Consider:
* Call `bq_auth()` directly with all necessary specifics.
谁能看到我错过了什么?提前致谢。
您可以下载您的Google云服务账号的JSON文件,然后将其作为“bq_auth”功能可以识别的路径。步骤如下:
- Google 云控制台 (console.cloud.google.com)
- 导航菜单
- IAM 和管理服务
- 帐户
- Create Service Account(创建一个)
- 创建密钥,并保存到“/path/to/jsonfilename.json”
- 在您的 R Markdown 代码中进行身份验证:
bigrquery::bq_auth(path = "/path/to/jsonfilename.json")
注意:您需要确保将服务帐户设置为有权访问 BigQuery。我将我的设置为“BigQuery Admin”并且它起作用了,但这可能太宽泛了
借用了 Elaine See 的 post 在媒体上的回答:https://medium.com/@elaine.yl.see/easiest-way-to-use-bigquery-in-r-8af466cd55ca
我在使用 bigrquery
从我编织的 R Markdown 文档中连接到 GCP 服务帐户时遇到问题。当我从控制台尝试时,身份验证工作正常。两者
library(bigrquery)
bq_auth()
和
library(bigrquery)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")
启动带有对话框的浏览器,让我按预期选择并使用指定帐户进行身份验证。但是在 R Markdown 中,任何像
这样的尝试options("httr_oob_default" = TRUE)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")
甚至像这样使用完整列表
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
)
导致错误
Error: Can't get Google credentials.
Are you running bigrquery in a non-interactive session? Consider:
* Call `bq_auth()` directly with all necessary specifics.
谁能看到我错过了什么?提前致谢。
您可以下载您的Google云服务账号的JSON文件,然后将其作为“bq_auth”功能可以识别的路径。步骤如下:
- Google 云控制台 (console.cloud.google.com)
- 导航菜单
- IAM 和管理服务
- 帐户
- Create Service Account(创建一个)
- 创建密钥,并保存到“/path/to/jsonfilename.json”
- 在您的 R Markdown 代码中进行身份验证:
bigrquery::bq_auth(path = "/path/to/jsonfilename.json")
注意:您需要确保将服务帐户设置为有权访问 BigQuery。我将我的设置为“BigQuery Admin”并且它起作用了,但这可能太宽泛了
借用了 Elaine See 的 post 在媒体上的回答:https://medium.com/@elaine.yl.see/easiest-way-to-use-bigquery-in-r-8af466cd55ca