如何访问包含Azure日志分析查询中的数据的Azure数据库

问题描述

我对要分析的应用程序数据有有效的查询。 目前,它使用ago(14d)分析了最近两周的数据。

现在,我想使用一个包含应用程序当前版本发布日期的值。由于我还没有找到将新数据库添加到包含Azure数据分析中的日志数据的现有数据库方法,因此我在Azure中创建了一个数据库并将数据输入在那里。

现在我只是不知道,是否可以从Azure日志分析的Web查询界面中完全访问该数据库,或者是否必须使用其他工具?

我希望有人可以帮助我。 与天蓝色一样,有很多东西需要阅读,但是对于我的问题来说并没有什么具体的(或者至少我还没有找到)。

是的,我知道如何使用let将数据插入查询中,但是由于我想在不同的查询中使用相同的数据,因此可以从所有查询中访问一个外部位置我更喜欢的解决方案。

事先感谢。 小牛

解决方法

您不能直接访问数据库。您最好在Blob存储中使用csv / json文件。在以下示例中,我上传了一个包含csv数据的txt文件,如下所示:

2a6c024f-9093-434c-b3b1-000821a15b1a,"Customer 1"
28a658a8-5466-45ea-862c-003b20507dd4,"Customer 2"
c46fb949-d807-4eea-8de4-005dd4beb39a,"Customer 3"
e05b67ee-ff83-4805-b004-0064449f196c,"Customer 4"

然后,我可以使用externaldata运算符在类似的查询中从日志分析/应用程序见解中引用此数据:

let customers = externaldata(id:string,companyName:string)  [
    h@"https://xxx.blob.core.windows.net/myblob.txt?sv=2019-10-10&st=2020-09-29T11%3A39%3A22Z&se=2050-09-30T11%3A39%3A00Z&sr=b&sp=r&sig=xxx"  
]  with(format="csv");
requests
| extend CompanyId = tostring(customDimensions.CustomerId)
| join kind=leftouter
(
    customers
)
on $left.CompanyId == $right.id

通过使用Microsoft Azure Storage Explorer创建包含SAS令牌的URL,选择一个Blob,然后右键单击->获取共享访问签名,从而创建URL https://xxx.blob.core.windows.net/myblob.txt?sv=2019-10-10&st=2020-09-29T11%3A39%3A22Z&se=2050-09-30T11%3A39%3A00Z&sr=b&sp=r&sig=xxx。在弹出窗口中创建一个SAS,然后复制uri。

,

我知道Log Analytics在后端使用Azure Data Explorer,Azure Data Explorer具有在查询中使用外部表的功能,但是我不确定Log Analytics是否支持外部表。

Azure数据资源管理器中的外部表 https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/schema-entities/externaltables#:~:text=An%20external%20table%20is%20a,and%20managed%20outside%20the%20cluster

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...