定制BigQuery查询:获取指定时间前后10秒内的记录
解决方案
修改后的BigQuery查询如下,新增了时间范围过滤条件,同时修正了SELECT语句末尾多余的逗号:
SELECT protopayload_auditlog.resourceName, protopayload_auditlog.methodName, receiveTimestamp, protopayload_auditlog.authenticationInfo.principalEmail FROM `my_projet.my_dataset.cloudaudit_googleapis_com_data_access_*` WHERE protopayload_auditlog.authenticationInfo.principalEmail LIKE "%visa%" AND resource.labels.bucket_name = "my_bucket" AND protopayload_auditlog.resourceName LIKE "%objects/a.csv%" AND receiveTimestamp BETWEEN TIMESTAMP_SUB(TIMESTAMP("2023-02-02 15:20:29.740996 UTC"), INTERVAL 10 SECOND) AND TIMESTAMP_ADD(TIMESTAMP("2023-02-02 15:20:29.740996 UTC"), INTERVAL 10 SECOND) ORDER BY receiveTimestamp
关键修改说明
- 在WHERE子句中新增时间范围过滤逻辑:利用
TIMESTAMP_SUB和TIMESTAMP_ADD函数,基于指定时间计算出前后10秒的时间区间,通过BETWEEN筛选该区间内的记录。 - 移除了SELECT语句最后一列末尾的多余逗号,避免语法错误。
内容的提问来源于stack exchange,提问作者KuRu
相关产品推荐
相关产品推荐

