如何在ADX中通过行元数据获取行创建时间戳?
在ADX中获取行创建时间戳的方法
ADX(Azure Data Explorer)默认不会自动存储每行的创建时间戳,但可以通过以下几种方式实现需求:
利用摄入时间策略与
ingestion_time()函数
先为目标表启用摄入时间策略:.alter table [TableName] policy ingestiontime true之后查询时即可通过函数获取数据被摄入到ADX的时间戳:
TableName | extend RowCreationTime = ingestion_time()注:该时间戳是数据批次被ADX摄入的时间,而非原始数据生成的时间
自定义添加行级创建时间字段
可以在数据摄入阶段主动添加时间戳:- 若数据本身携带创建时间,直接映射到表字段即可;
- 若需要在摄入时生成当前时间,可配置更新策略自动添加:
.create-or-alter table [TableName] policy update @'[{"Source": "", "Query": "extend RowCreationTime = now()", "IsEnabled": true}]'
查看批次级摄入历史
如果需要了解整批数据的摄入时间,可执行以下命令查看表的摄入历史,结果中的IngestionTime字段对应批次的摄入时间:.show table [TableName] ingestion history
内容的提问来源于stack exchange,提问作者Fares
相关产品推荐
相关产品推荐

