How to authenticate with service account and bigrquery package?

China☆狼群 提交于 2020-01-11 11:19:15

问题


I have been able to authenticate using the json file associated with a service account using googleAuth and bigQueryR.

# 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")

This works and I am able to start using functions from bigQueryR.

Now assume I am limited to the bigrquery package, how can I authenticate using a service account with this package?

I have looked at the documentation here to no avail: https://cran.r-project.org/web/packages/bigrquery/bigrquery.pdf

The resources I have come across on the internet propose using the bigQueryR package in place of bigrquery.

For instance this related stackoverflow question: Use bigrquery auth in shiny application.

But I need functions only available in bigrquery.


回答1:


set_service_token() is now deprecated.

Use bq_auth() instead:

bq_auth(path = "location_of_service_token.json")

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




回答2:


You can use the function set_service_token()in bigrquery to authenticate with the same service JSON you use in bigQueryR

library(bigrquery)

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

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



来源:https://stackoverflow.com/questions/57827492/accessing-google-bigquery-from-aws-ec2-using-dplyr

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!