尝试创建一个哨兵查询(KQL),它使用 externaldata() 运算符从 json 文件“https://www.gov.uk/bank-holidays.json”中提取信息。我发现的问题是由于此 json 文件包含列/字段“日期”哨兵不允许将其作为变量。有人能够从外部文件获取多层 json 字段吗?
externaldata (title:string, date:string, notes:string, bunting:bool)[
@"https://www.gov.uk/bank-holidays.json"
]
with(format="multijson")
['date']
或 ["date"]
json
就够了。不需要multijson
。title:string, date:string, notes:string, bunting:bool
)。"england-and-wales"
、"scotland"
和 "northern-ireland"
。txt
或 raw
,将其解析为 JSON,然后分解它,如下面的查询所示。externaldata(doc:string)
[h'https://<storage-account-name>.blob.core.windows.net/mycontainer/bank-holidays.json;<secret>']
with(format='txt')
| project parse_json(doc)
| mv-expand kind=array doc
| project kingdom = tostring(doc[0])
,division = doc[1].division
,events = doc[1].events
| mv-expand events
| evaluate bag_unpack(events)
//| sample 10
金丰 | 部门 | 彩旗 | 日期 | 笔记 | 标题 |
---|---|---|---|---|---|
北爱尔兰 | 北爱尔兰 | 假 | 2017-04-14T00:00:00Z | 耶稣受难日 | |
英格兰和威尔士 | 英格兰和威尔士 | 真实 | 2017-05-29T00:00:00Z | 春季银行假期 | |
苏格兰 | 苏格兰 | 假 | 2018-03-30T00:00:00Z | 耶稣受难日 | |
英格兰和威尔士 | 英格兰和威尔士 | 真实 | 2018-12-25T00:00:00Z | 圣诞节 | |
北爱尔兰 | 北爱尔兰 | 假 | 2019-04-19T00:00:00Z | 耶稣受难日 | |
英格兰和威尔士 | 英格兰和威尔士 | 真实 | 2019-12-25T00:00:00Z | 圣诞节 | |
北爱尔兰 | 北爱尔兰 | 真实 | 2020-01-01T00:00:00Z | 元旦 | |
苏格兰 | 苏格兰 | 真实 | 2022-01-04T00:00:00Z | 替补日 | 1月2日 |
苏格兰 | 苏格兰 | 假 | 2022-09-19T00:00:00Z | 伊丽莎白二世女王国葬银行假日 | |
苏格兰 | 苏格兰 | 真实 | 2023-01-02T00:00:00Z | 替补日 | 元旦 |
我也在为不同的 json 文件寻找类似的东西。
因此,我尝试排除 JSON 链接中存在的 IP 范围。为此,我需要投影 JSON 中的所有数据。我尝试编写以下代码,但它引发了错误:“运行查询时出现问题。请稍后再试。”谁能帮我构建查询吗?
let jsonData = externaldata(
syncToken: string,
createDate: string,
["prefixes"]: dynamic
)
[
h@"https://ip-ranges.amazonaws.com/ip-ranges.json"
]
with (format="multijson");
jsonData
| limit 10