我在这里发布了一个问题:https ://github.com/r-dbi/bigrquery/issues/487和以前的类似问题https://github.com/r-dbi/bigrquery/issues/449。他们还没有解决。而且,可悲的是,对问题的反应已经下降到几乎为零。
如果有人可以提供帮助,那就太好了。
我的组织不允许使用服务帐号密钥。所以我必须使用电子邮件授权。
在电脑上
> library(bigrquery)
> bq_deauth()
> bq_auth(email="ariel.balter@providence.org")
> conn = dbConnect(bigrquery::bigquery(), project="???????????", dataset="test_dataset")
> DBI::dbListTables(conn)
character(0)
在云虚拟机上
> library(bigrquery)
> bq_deauth()
> bq_auth(email="ariel.balter@providence.org")
> conn = dbConnect(bigrquery::bigquery(), project="??????????", dataset="test_dataset")
> DBI::dbListTables(conn)
Error: Access Denied: Dataset ??????????:test_dataset: Permission bigquery.tables.list denied on dataset ???????????:test_dataset (or it may not exist). [accessDenied]
Run `rlang::last_error()` to see where the error occurred.
> rlang::last_error()
<error/bigrquery_accessDenied>
Access Denied: Dataset ??????????:test_dataset: Permission bigquery.tables.list denied on dataset ????????:test_dataset (or it may not exist). [accessDenied]
Backtrace:
1. DBI::dbListTables(conn)
2. DBI::dbListTables(conn)
3. bigrquery::bq_dataset_tables(ds, ...)
4. bigrquery:::bq_get_paginated(...)
5. bigrquery:::bq_get(url, ..., query = query, token = token)
6. bigrquery:::process_request(req, raw = raw)
7. bigrquery:::bq_check_response(status, type, content)
8. bigrquery:::signal_reason(json$error$errors[[1L]]$reason, json$error$message)
Run `rlang::last_trace()` to see the full context.
> rlang::last_trace()
<error/bigrquery_accessDenied>
Access Denied: Dataset ?????????:test_dataset: Permission bigquery.tables.list denied on dataset ????????:test_dataset (or it may not exist). [accessDenied]
Backtrace:
█
1. ├─DBI::dbListTables(conn)
2. └─DBI::dbListTables(conn)
3. └─bigrquery::bq_dataset_tables(ds, ...)
4. └─bigrquery:::bq_get_paginated(...)
5. └─bigrquery:::bq_get(url, ..., query = query, token = token)
6. └─bigrquery:::process_request(req, raw = raw)
7. └─bigrquery:::bq_check_response(status, type, content)
8. └─bigrquery:::signal_reason(json$error$errors[[1L]]$reason, json$error$message)