azure-log-analytics - 查询输出并获取最新文件名
问题描述
以下是 kusto 查询:
ADFActivityRun
| where PipelineName contains "MyPipeline"
| where OperationName == "Failed"
| order by TimeGenerated desc
| take 1
输出列给出以下结果:
"{
""name"": ""varFileNames"",
""value"": [
{
""name"": ""Z400_EEE_20191110_ERR.txt"",
""type"": ""File""
},
{
""name"": ""Z400_CCC_20191119_ERR.txt"",
""type"": ""File""
},
{
""name"": ""Z400_DDD_20191121_ERR.txt"",
""type"": ""File""
},
{
""name"": ""Z400_EEE_20191122_ERR.txt"",
""type"": ""File""
},
{
""name"": ""Z400_AAA_20191202_ERR.txt"",
""type"": ""File""
}
]
}"
文件名中包含 yyyymmdd。我只想获取最新的文本文件名。在上述情况下 - Z400_AAA_20191202_ERR.txt
意图是发送警报 - “上述错误文件可用,请检查此文件”
解决方案
你可以mv-apply
用来实现这一点。
例如:
print d = dynamic({
"name": "varFileNames",
"value": [
{
"name": "Z400_EEE_20191110_ERR.txt",
"type": "File"
},
{
"name": "Z400_CCC_20191119_ERR.txt",
"type": "File"
},
{
"name": "Z400_DDD_20191121_ERR.txt",
"type": "File"
},
{
"name": "Z400_EEE_20191122_ERR.txt",
"type": "File"
},
{
"name": "Z400_AAA_20191202_ERR.txt",
"type": "File"
}
]
})
| mv-apply value = d.value on (
parse value.name with * "_" * "_" dt:datetime "_" *
| top 1 by dt desc
| project name = value.name
)
| project name
推荐阅读
- python - 您如何允许用户通过终端在 Python 脚本中上传 2 个 excel 文件,而不是下载一个新文件?
- python - 我想优化代码,不知道应该做哪个构造函数
- c# - 通过 EWS 获取和更改安全发件人列表和阻止发件人列表
- mysql - 如何修复致命错误:无法打开和锁定特权表:表 '.\mysql\proxies_priv' 被标记为已崩溃并且最后(自动?)修复失败
- c++ - C++ 代码在调试控制台中运行,而不是在 vs-code 的终端中运行
- c# - Xamarin Android HttpClient.GetAsync 仅适用于 Wifi 而不是移动数据?
- laravel - 如果分配了 parent_id,如何删除记录?
- javascript - Microsoft Graph Api - 约会预订日期时间问题
- r - R中有什么方法可以加速这个矩阵乘积:A' * B * A(B半正定)?
- sql - 在 SQL Server 中查找重复的县名