gpt4 book ai didi

azure - 如何将评估运算符与 Azure Log Analytics 中的应用程序或工作区范围函数结合使用?

转载 作者:行者123 更新时间:2023-12-03 04:20:53 24 4
gpt4 key购买 nike

在使用 Azure Log Analytics 进行查询时,特别是使用 autocluster 插件时,我一直在研究评估运算符(但即使使用预览和 diffpatterns,我似乎也遇到同样的问题)。

如果我有一个直接访问资源的查询(包括所有表或仅一个表),它可以正常工作。但是,如果我在多个应用程序或工作区中执行相同的查询。我收到一条错误消息:

未声明一个或多个模式引用。检测到的模式引用:支持

使用app()或workspace()作用域函数似乎是问题所在——没有进行联合来跨多个资源进行查询。

这不起作用:

workspace("vmPROD").Perf
| evaluate autocluster()

这也不是:

app("someService").traces
| evaluate autocluster()

这有效:

Perf
| evaluate autocluster()

问题是我想跨资源进行评估。起初我认为这可能是一个作用域函数限制,但是 table() - 也是一个作用域函数,可以工作。

这有效:

table("Perf")
| evaluate autocluster()

我如何解决这个限制?这是一个错误吗?文档中没有任何内容提到此限制。

最佳答案

在尝试不同的方法来解决这个问题后,我遇到了 materialize()功能。此函数允许您缓存子查询的结果,并且当使用 app() 或workspace() 引用资源时,我似乎可以针对缓存的结果使用机器学习函数。这在进行连接时也适用 - 这就是我想要跨资源执行的操作。有两个主要限制需要考虑,您最多可以缓存 5GB 结果,并且必须使用 let 运算符。

这是一个带有连接的示例:

let joinResult = union app('Konstrukt.SL.CalculationEngine').requests,app('Konstrukt.SL.AggregationEngine').requests;
let cachedJoinResult = materialize(joinResult);
cachedJoinResult
| where success == false
| project session_Id, user_Id, appName,operation_Id,itemCount
| evaluate autocluster();

关于azure - 如何将评估运算符与 Azure Log Analytics 中的应用程序或工作区范围函数结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49141548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com