问题描述
在我的 Jupyter 笔记本中,我想对不同的 Sentinel 工作区运行相同的 KQL 查询,并将结果作为数据框进行比较。是否有一种简单的方法可以同时连接多个工作区,或者每次更改 KQL 查询时都需要重新连接和单独查询每个工作区?
解决方法
你有几个选择来实现它。
- 如上所述,使用跨工作区查询会生成一个包含来自所有指定工作区的记录的表,然后您可以将其拆分为多个数据框。
- 创建多个连接,并一一查询。您可以在一个 %%kql 单元格中有多个查询(用空行分隔每个查询并将每个查询的结果分配给不同的 python 变量
- 编写迭代工作区的 Python 代码,并使用 %kql(一行魔法)
- 编写迭代工作区的 Python 代码,并使用 ipython 魔术 API 调用 Kqlmagic
- 编写迭代工作区的 Python 代码,并使用 Kqlmagic 模块
(我是 Kqlmagic 的作者,)
,看看 cross-workspace queries 是否满足您的要求。还有更多文档 here。跨工作区查询正是您所描述的。您可以使用 union
运算符来链接两者 - 类似于使用 union
链接两个表的方式。
摘自文章:
workspace('<workspace-A>').SecurityEvent
| union workspace('<workspace-B>').SecurityEvent