Log Analytics - 如何在搜索查询中使用 "inverted commas"

Log Analtyics - How to use "inverted commas" within search query

我正在尝试为 Public IP 分配给 NIC 时创建一个搜索查询,然后创建一个警报。我可以找到标识作业的部分,但我需要在搜索中使用 "inverted commas",但我不能...

我的查询:

AzureActivity
| where OperationName == "Microsoft.Network/networkInterfaces/write" and ActivityStatus == "Started"
| where Properties contains "<>"

在那个 "contains" 中,我需要使用从属性 JSON 中提取的以下 JSON(我发现它在没有 Properties Contains 的情况下进行搜索):

\"provisioningState\":\"Succeeded"\

但是,我知道我不能在已经倒置的逗号区域内使用 "inverted commas"。有没有办法让我把它放在里面,也许用某种取消或包围?

您可以使用 @ 进行转义 - 参见此处: https://docs.loganalytics.io/docs/Language-Reference/Data-types/string

或者,可能更好,您可以使用 extractjson(或 parsejson)函数 https://docs.loganalytics.io/docs/Language-Reference/Scalar-functions/extractjson()

感谢@Oleg Ananiev 提交的链接,我找到了解决方案。

AzureActivity
| sort by TimeGenerated desc nulls last
| where OperationName == "Microsoft.Network/networkInterfaces/write" and ActivityStatus == "Started"
| where Properties contains '\"provisioningState\":\"Succeeded\"' 

使用 parse_json 以 JSON 格式读取嵌套 属性 的更好方法。例如,如果您想读取 provisioningState 属性 的值,只需执行以下查询

| where parse_json(Properties).provisioningState  == 'Succeeded'

如果有帮助请告诉我!