You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将gcloud获取的Access Token用于R的bigrquery包

在bigrquery中使用临时GCP访问令牌创建客户端

步骤1:获取临时访问令牌

在Vertex AI云端笔记本的终端执行以下命令获取令牌:

gcloud auth print-access-token

或者直接在R会话中调用系统命令获取:

access_token <- system("gcloud auth print-access-token", intern = TRUE)

步骤2:将令牌封装为httr认证对象

bigrquery依赖httr包处理认证,需要把字符串格式的令牌转换成Token2.0对象,同时禁用本地缓存以适配临时登录场景:

library(httr)
library(bigrquery)

# 构建临时Token对象,不缓存到本地
token <- Token2.0$new(
  endpoint = NULL,
  params = list(access_token = access_token),
  credentials = list(access_token = access_token),
  cache_path = FALSE
)

# 让bigrquery使用该令牌完成认证
bq_auth(token = token)

步骤3:使用BigQuery服务

认证完成后,即可正常调用bigrquery的所有功能,比如指定项目ID执行查询:

# 替换为你的GCP项目ID
project_id <- "your-gcp-project-id"

# 示例:查询公开数据集
query_job <- bq_project_query(
  project = project_id,
  query = "SELECT * FROM `bigquery-public-data.samples.gsod` LIMIT 10"
)

# 将查询结果转为数据框
result_df <- bq_table_download(query_job)
print(result_df)

适配Vertex AI云端笔记本的注意事项

  • 令牌有效期默认1小时,过期后重新执行gcloud auth print-access-token获取新令牌即可;
  • Vertex AI笔记本已预装并配置gcloud CLI,无需额外初始化环境;
  • 全程无需创建或存储密钥文件,完全基于临时会话认证,符合云端场景的安全要求。

内容的提问来源于stack exchange,提问作者Greg Dougherty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 15:33:14