如何以编程方式创建Log Analytics工作区函数
Azure Monitor Log Analytics工作区函数自动化创建方案
产品支持边界说明
- 官方发布的《Azure Monitor日志查询中的函数》文档仅覆盖Log Analytics工作区内手动创建函数的操作流程,未提供自动化创建的相关指引。
- 在Kusto.Explorer中执行
.create-or-alter function命令创建函数失败属于预期表现:该类Kusto控制命令目前不支持直接修改Log Analytics工作区的函数元数据,即使连接配置正常、可正常执行已有函数、读取工作区数据,也无法通过该方式创建/修改函数,该限制符合官方公开的函数支持范围。
官方推荐自动化实现方案
目前官方支持的可编程创建Log Analytics工作区函数的方案按便捷度从高到低排序如下:
- 官方SDK调用(首选)
各语言的Azure Monitor官方管理SDK均封装了保存搜索的增改接口,无需手动处理REST API鉴权、请求拼接逻辑,开发成本最低。注意:Log Analytics工作区中的函数本质是配置了别名、入参的保存搜索,所有保存搜索的管理接口均可用于函数的全生命周期管理,请求中传入对应函数配置后,生成的资源即可作为KQL函数被直接调用。
各语言SDK对应方法如下:- .NET SDK:调用
SavedSearches.CreateOrUpdate方法 - Python SDK:调用
LogAnalyticsManagementClient.saved_searches.create_or_update方法 - Java/JavaScript/Go等其余语言的官方Azure管理SDK,均在Log Analytics管理模块下提供了同名的保存搜索创建更新接口。
- .NET SDK:调用
- REST API直接调用
即已验证可行的Log Analytics保存搜索创建/更新接口,该接口是所有上层SDK、自动化工具的底层依赖,灵活性最高但需要自行处理鉴权、请求构造逻辑,便捷性弱于SDK调用。
补充说明
当前产品暂不支持在Kusto.Explorer等查询客户端中直接通过KQL控制命令创建、修改Log Analytics工作区函数,SDK调用是目前最简便的编程实现方式。
内容的提问来源于stack exchange,提问作者Konrad Jamrozik
相关产品推荐
相关产品推荐

