如何查询BQ表列从非可空改为可空的时间及操作人
查询BigQuery表结构变更的操作人与时间
BigQuery提供审计日志机制追踪表结构变更操作,以下是两种可行的查询方法:
方法一:使用BigQuery SQL查询审计日志
通过查询项目审计日志视图,直接筛选目标表的结构变更记录:
SELECT protopayload_auditlog.authenticationInfo.principalEmail AS 操作人邮箱, TIMESTAMP_MICROS(protopayload_auditlog.requestMetadata.requestTime) AS 变更时间, protopayload_auditlog.methodName AS 操作类型, protopayload_auditlog.resourceName AS 目标表路径 FROM `你的项目ID`.`region-us`.INFORMATION_SCHEMA.AUDIT_LOGS WHERE protopayload_auditlog.methodName = 'google.cloud.bigquery.v2.TableService.UpdateTable' AND protopayload_auditlog.resourceName LIKE '%你的数据集ID.你的表名%' ORDER BY 变更时间 DESC
替换说明:
- 将
你的项目ID替换为实际项目ID - 将
你的数据集ID.你的表名替换为目标表的完整标识(如mydataset.mytable)
方法二:通过Cloud Console日志资源管理器查询
- 打开Google Cloud Console的日志资源管理器
- 在查询框中输入以下过滤条件(替换占位符):
resource.type="bigquery_dataset" AND protoPayload.methodName="google.cloud.bigquery.v2.TableService.UpdateTable" AND protoPayload.resourceName="projects/你的项目ID/datasets/你的数据集ID/tables/你的表名" - 运行查询后,结果列表会展示操作人、操作时间、请求详情等信息
注意事项
- 若未查询到结果,可能是变更发生时项目未启用Data Access审计日志,这种情况下无法追溯历史记录
- 只有拥有项目日志查看权限(如
roles/logging.viewer)的用户才能访问这些审计信息
内容的提问来源于stack exchange,提问作者TreeWater
相关产品推荐
相关产品推荐

