部分查询失败
“部分查询失败”是运行查询失败,只有在查询已经开始实际执行阶段之后才会被检测到。 到那时,Kusto 已经将 HTTP 状态行 200 OK
返回给客户端,并且无法“收回”,因此必须在将查询结果返回给客户端的结果流中指示失败。 (事实上,它可能已将一些结果数据返回给调用方。)
存在几种类型的部分查询失败:
可通过以下两种方式之一将部分查询失败报告回客户端:
- 默认情况下,包含故障信息的 JSON 属性包显示为结果数据的一部分,其中通常需要 JSON 数组。
- 作为结果流中“QueryStatus”表的一部分。 若要防止失败信息显示为结果数据的一部分,请在请求的
properties
槽 (Kusto.Data.Common.ClientRequestProperties.OptionDeferPartialQueryFailures
) 中设置deferpartialqueryfailures
选项。 执行此操作的客户端负责使用服务的整个结果流查找QueryStatus
结果,并确保该结果中没有任何记录的Severity
为2
或更小。
警告
为了加快部分查询失败的传递,Kusto 在某些情况下可能会“刷新”结果流,从而产生不正确的结果。 因此,如果观察到部分查询失败,则使用者应忽略整个结果。