如何使用服务帐户和 bigquery 包进行身份验证?

Posted

技术标签:

【中文标题】如何使用服务帐户和 bigquery 包进行身份验证?【英文标题】:How to authenticate with service account and bigrquery package? 【发布时间】:2017-02-23 08:04:39 【问题描述】:

我已经能够使用与 googleAuthbigQueryR 的服务帐户关联的 json 文件进行身份验证。

# Load Packages
global.packages <- c("bigQueryR", "googleAuthR")

### Apply require on the list of packages; load them quietly
lapply(global.packages, require, character.only = TRUE, quietly = TRUE)

Sys.setenv("GCS_AUTH_FILE" = "json_file_location")

#Authenticate Google BQ
googleAuthR::gar_attach_auto_auth("https://www.googleapis.com/auth/bigquery",
                                  environment_var = "GCS_AUTH_FILE")

这行得通,我可以开始使用来自bigQueryR 的函数。

现在假设我仅限于 bigrquery 包,我如何使用服务帐户和这个包进行身份验证?

我查看了这里的文档无济于事: https://cran.r-project.org/web/packages/bigrquery/bigrquery.pdf

我在互联网上遇到的资源建议使用 bigQueryR 包代替 bigrquery

例如这个相关的 *** 问题: Use bigrquery auth in shiny application.

但我需要仅在 bigrquery 中可用的功能。

【问题讨论】:

【参考方案1】:

set_service_token() 现已弃用。

改用bq_auth()

bq_auth(path = "location_of_service_token.json")

来源:https://rdrr.io/cran/bigrquery/man/bigrquery-deprecated.html

【讨论】:

【参考方案2】:

您可以使用函数set_service_token()in bigrquery 使用您在bigQueryR 中使用的相同服务JSON 进行身份验证

library(bigrquery)

set_service_token("location-of-service.json")

来源:https://github.com/rstats-db/bigrquery/issues/22

【讨论】:

以上是关于如何使用服务帐户和 bigquery 包进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章

通过 R Studio Server 使用 BigQuery 在 Google Compute Engine 上对服务帐户进行身份验证

使用服务帐户 Google BigQuery API 时出现登录要求错误

使用服务帐户从广告脚本调用 AdWords 和 BigQuery 的网址是啥?

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

谷歌 BigQuery 身份验证

R 的 bigrquery 的身份验证问题