在 Redash 中可视化 Azure 数据资源管理器的数据

Redash 可以连接和查询数据源,并可以生成仪表板来可视化数据并将其与同事共享。 本文介绍如何将 Azure 数据资源管理器设置为 Redash 的数据源,然后将数据可视化。

先决条件

配置数据源

执行以下步骤将 Azure 数据资源管理器配置为仪表板工具的数据源。 我们将在本节中更详细地介绍这些步骤:

  1. 创建 Microsoft Entra 服务主体。 仪表板工具使用服务主体访问 Azure 数据资源管理器服务。

  2. 将 Microsoft Entra 服务主体添加到 Azure 数据资源管理器数据库中的“查看者”角色

  3. 根据 Microsoft Entra 服务主体中的信息指定仪表板工具连接属性,然后测试连接。

创建服务主体

可在 Azure 门户中或使用 Azure CLI 命令行创建服务主体。 无论使用哪种方法,创建后都会获得四个连接属性的值,将在后面的步骤中用到这些值。

Azure 门户

  1. 要创建服务主体,请按照 Azure 门户文档中的说明进行操作。

    1. 将应用程序分配给角色部分,将“读取者”的角色类型分配给 Azure 数据资源管理器群集 。

    2. 获取用于登录的值部分中,复制步骤中的三个属性值:目录 ID(租户 ID)、应用程序 ID 和密码 。

  2. 在 Azure 门户中,选择“订阅”,然后复制在其中创建服务主体的订阅的 ID 。

    Subscription ID - portal.

Azure CLI

  1. 创建服务主体。 设置适用范围和角色类型 reader

    az ad sp create-for-rbac --name "https://{UrlToYourDashboard}:{PortNumber}" --role "reader" \
                             --scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroupName}
    

    有关详细信息,请参阅使用 Azure CLI 创建 Azure 服务主体

  2. 该命令返回如下结果集。 复制三个属性值:appID、密码和租户 。

    {
      "appId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "displayName": "{UrlToYourDashboard}:{PortNumber}",
      "name": "https://{UrlToYourDashboard}:{PortNumber}",
      "password": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
    }
    
  3. 获取订阅的列表。

    az account list --output table
    

    复制相应的订阅 ID。

    Subscription ID - CLI.

将服务主体添加到查看者角色

现在已有服务主体,可将其添加到 Azure 数据资源管理器数据库中的“查看者”角色 。 可在 Azure 门户中的“权限”下执行此任务,也可以使用管理命令在“查询”下执行此任务 。

Azure 门户 - 权限

  1. 在 Azure 门户中,转到 Azure 数据资源管理器群集。

  2. 在“概述”部分中,选择包含 StormEvents 样本数据的数据库 。

    Select database.

  3. 选择“权限”,然后选择“添加” 。

    Database permissions.

  4. 在“添加数据库权限”下,选择“查看者”角色,然后选择“选择主体” 。

    Add database permissions.

  5. 搜索已创建的服务主体。 选择主体,然后单击“选择” 。

    Screenshot of the Azure portal New Principals pane. The Select button and two fields with indecipherable service principal properties are highlighted.

  6. 选择“保存”。

    Screenshot of the Add Database Permissions pane in the Azure portal. The Save button is highlighted.

管理命令 - 查询

  1. 在 Azure 门户中,转到 Azure 数据资源管理器群集,然后选择“查询” 。

    Screenshot of an Azure Data Explorer cluster in the Azure portal. The Query item is highlighted.

  2. 在查询窗口中运行以下命令。 使用 Azure 门户或 CLI 中的应用程序 ID 和租户 ID。

    .add database {TestDatabase} viewers ('aadapp={ApplicationID};{TenantID}')
    

    该命令返回如下结果集。 在此示例中,第一行用于数据库中的现有用户,第二行用于刚刚添加的服务主体。

    Result set.

在 Redash 中创建 Azure 数据资源管理器连接器

  1. 登录到 Redash。 选择“开始”以创建帐户。

  2. 在“让我们开始吧”中选择“连接数据源”。

    Connect a data source.

  3. 在“创建新数据源”窗口中,依次选择“Azure 数据资源管理器(Kusto)”、“创建”。

    Select Azure Data Explorer data source.

  4. 在“Azure 数据资源管理器(Kusto)”窗口中填写以下表单,然后选择“创建”。

    Azure Data Explorer (Kusto) settings window.

  5. 在“设置”窗口中选择“保存”,然后选择“测试连接”以测试“Azure 数据资源管理器(Kusto)”数据源的连接。

在 Redash 中创建查询

  1. 在 Redash 的左上方,选择“创建”>“查询”。 单击“新建查询”并重命名查询。

    Create query.

  2. 在顶部的编辑窗格中键入查询,然后依次选择“保存”、“执行”。 选择“发布”以发布查询供将来使用。

    Save and execute query.

    在左窗格中,可以在下拉菜单中看到数据源连接名称(在我们的流中为“Github 连接器”),并可以看到所选数据库中的表。

  3. 在底部的中间窗格中查看查询结果。 选择“新建可视化效果”按钮创建用于查询的可视化效果。

    New visualization.

  4. 在可视化效果屏幕中选择“可视化效果类型”,以及“X 列”和“Y 列”等相关字段。 保存可视化效果。

    Configure and save visualization.

使用参数创建查询

  1. 选择“创建”>“查询”以创建新查询。 使用 {{}} 大括号将一个参数添加到查询中。 选择“{{}}”打开“添加参数”窗口。 还可以选择“设置”图标来修改现有参数的属性,并打开“<参数名称>”窗口。

    insert parameter.

  2. 为参数命名。 从下拉菜单中选择“类型: 基于查询的下拉列表” 。 选择“确定”

    query based dropdown list.

    注意

    该查询使用多个值,因此必须包含以下语法:| where Type in ((split('{{Type}}', ',')))。 有关详细信息,请参阅 in 运算符。 这会导致 Redash 应用中出现多个查询参数选项

在 Redash 中创建仪表板

  1. 若要创建仪表板,请选择“创建”>“仪表板”。 或者,选择现有仪表板:“仪表板”> 从列表中选择仪表板。

    Create dashboard.

  2. 在“新建仪表板”窗口中为仪表板命名,然后选择“保存”。 在“<仪表板名称>”窗口中,选择“添加小组件”以创建新的小组件。

  3. 在“添加小组件”窗口中选择查询名称,然后选择“选择可视化效果”和“参数”。 选择“添加到仪表板”

    Choose visualizations and add to dashboard.

  4. 选择“完成编辑”以完成仪表板的创建。

  5. 在仪表板编辑模式下,选择“使用仪表板级别筛选器”以使用前面定义的“类型”参数。

    Complete dashboard creation.

后续步骤