'where' 运算符:无法解析名为 'timeOffsetMin' 的标量表达式

'where' operator: failed to resolve scalar expression named 'timeOffsetMin'

我现在转向 Azure、KQL 和 Log Analytics。我正在尝试 运行 在我的试用 Log Analytics 工作区中执行以下查询,但我收到此错误并且无法解决。

错误:

'where' operator: failed to resolve scalar expression named 'timeOffsetMin'

查询:

let timeOffsetMin = 7d;
let timeOffsetMax = timeOffsetMin * 2;

AuditLogs | where TimeGenerated > ago(timeOffsetMin) and TimeGenerated < ago(timeOffsetMax);

感谢您的帮助。

在 运行 之前突出显示整个查询(在编辑器中)并重新格式化代码解决了我的问题。

查询:

let timeOffsetMin = 7d;
let timeOffsetMax = timeOffsetMin * 2;

AuditLogs
   | where TimeGenerated > ago(timeOffsetMin) and TimeGenerated < ago(timeOffsetMax);

由于在同一个编辑器中可能有多个查询,当您点击“运行”时,编辑器会“尝试猜测”您正试图在编辑器中的文本的哪一部分运行。它的工作方式是 运行 空行之间的任何内容。

在您的情况下,let 语句与查看 AuditLogs table.

的语句之间有一个空行

您有两种选择来解决此问题:

  • 首选的选项是删除空行(如果你真的想在它们之间进行一些分隔,那么你可以通过写 // some comment)
  • 来代替空行来添加注释
  • 您可以通过在点击 运行
  • 之前选择您的完整查询来告诉编辑器您的完整查询是哪个文本