使用 R 连接到 BigQuery 时不断收到拒绝访问
Posted
技术标签:
【中文标题】使用 R 连接到 BigQuery 时不断收到拒绝访问【英文标题】:Keep getting Access Denied when connecting to BigQuery with R 【发布时间】:2019-11-26 16:11:35 【问题描述】:我对 GCP 和 BigQuery 非常陌生,我正在尝试使用 R 查询我在 Google BigQuery 上上传的简单数据集。在 IAM 设置中,我被列为“BigQuery 管理员”、“BigQuery 数据所有者” ”和“所有者”。
我也可以使用控制台查询数据集,但每次我都会收到一个
access denied, User does not have bigquery.jobs.create permission in project ABCD
这是我的代码:
library("tidyverse")
library("bigrquery")
bq_auth(use_oob = TRUE)
# Store the project id
projectid = "ABCD"
# Set your query
sql <- "SELECT * FROM test.testtable"
# Run the query and store the data in a dataframe
mydf <- query_exec(sql, projectid, use_legacy_sql = FALSE)
# Print the query result
mydf
到目前为止,我发现的所有来源都告诉我在 IAM 设置中激活 Big Query 的设置 - 但我已经完成了,所以我不知道该怎么做。非常感谢您的帮助!
【问题讨论】:
【参考方案1】:这显然是一个权限问题。 您能否确保该程序使用的是您的凭据而不是其他服务帐户凭据?
如果您是在笔记本电脑上运行,则可以运行 gcloud auth list
以找出正在使用的凭据。
【讨论】:
我傻了,我的projectID错了(因为在线google控制台左上角没有显示全名)。无论如何感谢您的帮助!供将来参考 - 我在哪里可以在 google SDK 中运行此功能? (我使用的是 Windows) project_name 和 project_id 在开始时会混淆,所以不用担心。您能否详细说明您的 google SDK 相关问题? 谢谢。你说要运行gloud auth list
,我的问题是在哪里运行它 - 最后我在 cmd 中运行它并且它工作。再次感谢您的帮助,非常感谢!【参考方案2】:
好吧,我真的很笨。项目名称是字母和数字的组合,但在云控制台的左上角只显示字母。我忘记在 projectId 中输入数字,这就是它不起作用的原因(我指的不是正确的项目)。
希望能省去别人的麻烦!
【讨论】:
project_name 和 project_id 在 GCP 中是两个不同的东西,建议您始终使用 project_id,因为它是唯一的 id以上是关于使用 R 连接到 BigQuery 时不断收到拒绝访问的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot App 拒绝连接到 Kafka 代理
如何在 R 中使用 DBI 连接到 bigquery 数据库后列出表的字段
无法连接到在 EC2 实例上运行的 Tigase 服务器:连接被拒绝