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

如何获取查询BigQuery的Google Sheets文件URL?

定位查询BigQuery的Google Sheets URL的方法

1. 检查BigQuery审计日志

BigQuery的审计日志会记录所有访问、查询操作的完整元数据,其中包含发起请求的Google Sheets完整URL。你可以通过以下方式获取:

  • 先将审计日志导出到指定的BigQuery数据集
  • 用bq命令行工具或BigQuery UI查询日志表,过滤protoPayload.serviceName="bigquery.googleapis.com"且protoPayload.resourceName包含jobs的记录。其中protoPayload.metadata.jobConfiguration.load.sourceUris(导入操作场景)或protoPayload.metadata.jobConfiguration.query.query(Sheets作为外部数据源查询场景)字段会直接返回Sheets的URL,protoPayload.requestAttributes.auth.principalEmail还能关联到Sheets的创建者。

2. 查询INFORMATION_SCHEMA外部表元数据

如果Google Sheets是作为外部表连接到BigQuery的,可通过INFORMATION_SCHEMA.EXTERNAL_TABLES视图直接提取Sheets URL:

SELECT 
  table_catalog,
  table_schema,
  table_name,
  external_data_configuration ->> '$.sourceUris[0]' AS sheets_url
FROM 
  `你的项目ID.你的数据集ID.INFORMATION_SCHEMA.EXTERNAL_TABLES`
WHERE 
  external_data_configuration ->> '$.sourceFormat' = 'GOOGLE_SHEETS'

执行该查询后,会返回当前数据集下所有关联Google Sheets外部表的完整URL。

3. 查看BigQuery作业历史

在BigQuery UI的作业页面,筛选由Google Sheets发起的查询/加载作业,点击作业详情进入配置标签页,在查询语句或加载配置区域,会显示对应的Sheets来源URL。不管是通过Sheets内置的QUERY函数还是数据连接发起的请求,这里都会记录来源文件的地址。

注意事项

  • 只有当请求是通过BigQuery正式作业(如加载数据、查询外部表)发起时,才会记录完整的Sheets URL;如果是第三方工具间接调用,需要检查工具自身的日志。
  • 操作前确保你拥有足够权限:访问审计日志需要roles/logging.viewer,查询INFORMATION_SCHEMA需要roles/bigquery.dataViewer或更高权限。

内容的提问来源于stack exchange,提问作者Joseph Jeremiah Noonan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:09:57