azure-data-explorer - 使用 ADF 重新执行 CREATE FUNCTION 脚本未反映在显示日志的输出中
问题描述
我有一个创建函数脚本.create-or-alter function
,我每 5 分钟使用 Azure 数据工厂 (ADF) 将其提交到 ADX 集群。
我不断触发命令.show journal
以检测是否已执行。ADF 第一次提交此脚本时,当该函数不存在时,该函数已创建,我什至可以使用.show journal
命令查看它的条目。但是在那之后,即使我一直检查了很长时间,我也看不到ADD-FUNCTION
最新输出中的 ' ' 事件,并且在此期间管道一直在成功。.show journal
我不明白,如果管道成功提交现有的创建功能脚本而没有任何更改,为什么 ADX 不允许通过?
如果我在 Kusto Explorer 中打开现有函数脚本并重新执行它而不做任何更改,它会反映在.show journal
ADF 正在做的但逻辑上相同的事情中,但不会反映在.show journal
.
只是为了实验,我使用 Kusto Explorer 删除了这个功能。
因此,下次运行 ADF 管道时,它会再次创建该函数,并且该条目会反映在.show journal
.
这意味着每当我们将创建函数脚本从 ADF 重新提交到 ADX 时,ADF 可能会检查函数定义是否已更改,如果没有,它会忽略该命令吗?
但是,当我们从 Kusto Explorer 执行相同操作时,不会执行此检查,这很奇怪。
ADX 行为不应根据我们提交命令的方式而改变。
另一个有趣的事实是,这种行为是函数独有的,
我还测试了一次又一次地通过 ADF 为表重新创建相同的更新策略,没有任何更改,并且每次它最终显示在.show journal
.
这种行为是功能的特性还是错误?
解决方案
从 ADX 服务的角度来看,当您执行一个.alter function
或一个.create-or-alter
命令时,该命令会导致现有函数具有完全相同的主体、参数、文件夹和文档字符串 - 该命令什么也不做,因此不会将任何内容写入日志。
如果您看到不同,我建议您打开支持票。
推荐阅读
- android - 弹出菜单正在累积出现次数(未正确关闭)
- r - Access keyboard buffer in R
- c++ - 在结构中使用枚举的值
- python - Sanitize time duration data from Pandas Dataframe
- javascript - Browser window close event is not working in Firefox and chrome
- html - Animate image left-to-right, to show another image
- c - C 编程中 MinGW(codeblock) 和 VC++ 6.0 编译器之间的结果不匹配
- react-native - 迁移以响应本机 0.57 时的 AppState 模块错误
- javascript - 在表格底部动态添加一行
- jquery - 我可以修改 jQuery 库吗?