如何将当前时间戳插入/摄取到 kusto 表中

问题描述

我正在尝试使用以下查询将当前日期时间插入到以日期时间为数据类型的表中:

.ingest inline into table NoARR_Rollout_Status_Dummie <| @'datetime(2021-06-11)',Sam,Chay,Yes

表是使用以下查询创建的:

.create table NoARR_Rollout_Status_Dummie ( Timestamp:datetime,Datacenter:string,Name:string,SurName:string,IsEmployee:string)

但是当我尝试查看表中的数据时,我看不到 TimeStamp 被填充。有什么我遗漏的吗?

解决方法

.ingest inline 命令将输入​​(在 <| 之后)解析为 CSV 负载。因此您不能在其中包含变量。

您尝试执行的操作的替代方法是使用 .set-or-append 命令,例如:

.set-or-append NoARR_Rollout_Status_Dummie <|
    print Timestamp = datetime(2021-06-11),Name = 'Sam',SurName = 'Chay',IsEmployee = 'Yes'

注意,但是,不建议在生产场景中在单个命令中提取一条或几条记录,因为它会创建非常小的数据分片,并且可能会对性能产生负面影响。

对于排队摄取,建议使用更大的批量:https://docs.microsoft.com/en-us/azure/data-explorer/kusto/api/netfx/kusto-ingest-best-practices#optimizing-for-throughput

否则,请查看您的用例是否符合流式摄取的建议:https://docs.microsoft.com/en-us/azure/data-explorer/ingest-data-streaming