来自 Cloud Logging 接收器的重复 BigQuery 行

Duplicated BigQuery rows from Cloud Logging sink

我已将接收器设置为将日志从 Google Cloud Logging 传输到 BigQuery。一切正常,但 有时 Cloud Logging

中的同一日志会出现重复的行

这里有一个云日志的例子。这里只有一个日志。

这是我使用 insertId 从 BigQuery 查询此记录时得到的结果:1fw0b92g26o229x

有人遇到同样的问题吗?我可以防止这种重复吗?

谢谢

Cloud Logging 将同一项目中具有相同时间戳和相同 insertId 的日志条目视为重复,并在单个查询结果中删除。

但是,无法保证日志导出中的重复数据删除。

参考here了解更多详情。

当将日志流式传输到 BQ 失败时,可能会发生重复,或者也可能发生在上游期间的任何地方,包括客户端。 BQ 目前不对数据进行去重。如果 receiveTimestamp 都相同,则重复项将出现在日志记录管道或 BigQuery 流式摄取内部的某处。目前没有办法在摄取时进行完美的重复数据删除。需要在查询时删除重复项。

您在日志查看器中看不到重复项,因为它会在查询时删除具有相同时间戳和 insertId 的日志的重复项。通过使用 GROUP BY 查询 BQ 可能会在 BQ 中执行相同的操作,如以下示例查询所示。

SELECT timestamp,severity,insertId
FROM project-id.my_dataset.my_table 
GROUP BY timestamp,severity,insertId