我正试图为一些Azure Blob存储帐户创建一个日志分析工作簿。帐户是启用了ADLS Gen2 w/分层命名空间的。问题是有些文件直接上传到容器级别,有些文件被上传到子目录或子目录(分层命名空间)中。
这使得使用KQL显示文件名非常困难。
如果每个子目录和每个文件名都存在,那么是否有一种简单的方法来获取它们,或者我是否必须为每个blob容器提供一个自定义方法?
示例:
// Define variables
let varStartTime = todatetime('2022-10-02T18:00:00Z');
let varEndTime = todatetime('2022-10-02T20:00:00Z');
let varAccountName = 'stgtest';
//
StorageBlobLogs
| where
AccountName == varAccountName
and TimeGenerated between (varStartTime .. varEndTime)
| extend FileName = todynamic(split(Uri, '/')) // herein lies the issue
| project
TimeGenerated,
AccountName,
OperationName,
FileName
| sort by TimeGenerated asc结果:

发布于 2022-10-06 06:26:52
StorageBlobLogs
| sample 15
| project Uri
| extend Path = parse_path(tostring(parse_url(Uri).Path))
| evaluate bag_unpack(Path, "Path_")

https://stackoverflow.com/questions/73967856
复制相似问题