我有一张表,其中应用了更新政策,如下所示:
.create table Foo (
data: dynamic
)
.create function ParseFoo () {
Foo
| project
a = tostring(data.a),
b = tostring(data.b)
}
.create table Bar (
a: string,
b: string
)
.alter table Bar policy update
```
[{
"IsEnabled": true,
"Source": "Foo",
"Query": "ParseFoo",
"IsTransactional": false,
"PropagateIngestionProperties": false
}]
```
有人1更改了
ParseFoo
的定义以提取另一列:
.alter function ParseFoo () {
Foo
| project
a = tostring(data.a),
b = tostring(data.b),
c = tostring(data.c)
}
架构的差异导致更新策略无法应用,数据摄取也被停止。我能够找出不匹配的地方并纠正它,但我想在未来主动监控这一点。
粗略地看了一下,我没有看到任何与该表的摄取失败相关的错误,这些错误记录在我到目前为止想要检查的任何地方
1。 (我)
从链接此问答:https://learn.microsoft.com/en-us/azure/kusto/management/updatepolicy#failures
.show ingestion failures
| where Table == 'Bar'
| project-reorder Details
.show ingestion failures
命令将显示如下消息。
Failed to invoke update policy. Target Table = 'Bar', Query = 'let Foo =
__table("Foo", 'All', 'AllButRowStore')
| where extent_id() in (guid(29f13c11-e6cf-472a-a1cd-91af4cfb2c44));
ParseFoo': Query schema does not match table schema