azure-data-explorer - 将源数据库名称添加为 Kusto 的行结果中的列
问题描述
我的集群中有多个 Kusto 数据库——每个数据库都代表一个持续集成测试运行。我经常喜欢在多个数据库中进行搜索,以了解问题发生的范围或问题首次发生的时间。
我会做这样的事情:
union (database('2018-08-*').['*InterestingTables'])
| where Message has "Danger, Danger, Will Robinson!" | project OccurrenceTime,Message
我得到了很好的概述,但无法知道每行来自哪个数据库。消息本身并没有告诉我足够多的信息来了解相邻的两行是来自同一环境还是不同的环境。
有没有办法用该行在加入之前来自哪个数据库和/或表的附加列来扩展它?
在 Kusto Explorer 中,我正在考虑编写某种函数,该函数将逐个枚举数据库,过滤到有趣的行,使用当前数据库扩展该行,然后将它们合并在一起。我希望有一种更简单的方法可以做到这一点。仔细考虑管道,似乎在联合完成时为时已晚 - 除非 Kusto 在我尚未找到的元数据中携带该信息。通过 CLI 会容易得多,但我更喜欢在资源管理器中工作的东西。
我所追求$table
的search
结果有点像。
我还尝试| extend cursor_current()
查看它是否添加了任何有趣的东西,但在跨数据库范围内不起作用。
我已经非常详尽地阅读了查询语言/查询要点,尽管可能由于......好吧,筋疲力尽而错过了它。:)
解决方案
您可以通过使用“union”语句withsource
中的子句来获取表名。
union withsource=SourceTable (database('2018-08-*').['*InterestingTables'])
| where Message has "Danger, Danger, Will Robinson!"
| project OccurrenceTime,Message
推荐阅读
- android - 如何用 map 实现 RN Headless JS
- javascript - 如何在 Visual Studio 代码中运行 javascript
- python - Pygame 敌人没有停留在地图上的预定位置
- python - 带有撇号的 Python 子进程,删除它们
- spring-boot - 在 GridGain Spring boot Client 节点中打印连续日志
- php - 联系表格 7 数据发送到 API
- php - 如何在不触发错误 PHP 的情况下将可选参数和数据类型传递给方法
- karate - 如何在 afterScenario 中访问 karate ui 自动化驱动程序详细信息,如 sessionid?
- sql - 具有多个条件的 Bigquery LTRIM 函数
- powerbi - 检查值是否在另一个表中并在 Power BI 中添加列