你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure 数据资源管理器配置数据流终结点

重要

本页包含使用 Kubernetes 部署清单(目前为预览版)管理 Azure IoT 操作组件的说明。 此功能存在若干限制,不应该用于生产工作负载。

有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

若要在 Azure IoT 操作中将数据发送到 Azure 数据资源管理器,可以配置数据流终结点。 借助此配置,可以指定目标终结点、身份验证方法、表和其他设置。

先决条件

创建 Azure 数据资源管理器数据库

  1. 在 Azure 门户中,在 Azure 数据资源管理器完整群集中创建一个数据库。

  2. 在数据库中为数据创建一个表。 可以使用 Azure 门户并手动创建列,也可以在查询选项卡中使用“KQL”。例如,若要为示例恒温器数据创建表,请运行以下命令:

    .create table thermostat (
        externalAssetId: string,
        assetName: string,
        CurrentTemperature: real,
        Pressure: real,
        MqttTopic: string,
        Timestamp: datetime
    )
    
  3. 对表和数据库启用流式引入。 在查询选项卡中运行以下命令,用数据库名称替换 <DATABASE_NAME>

    .alter database ['<DATABASE_NAME>'] policy streamingingestion enable
    

    或者,可以在整个群集上启用流式引入。 请参阅在现有群集上启用流式引入

为托管标识分配权限

若要为 Azure 数据资源管理器配置数据流终结点,建议使用用户分配的托管标识或系统分配的托管标识。 此方法是安全的,并且无需手动管理凭据。

创建 Azure 数据资源管理器数据库后,需要为 Azure IoT 操作托管标识分配一个角色,以授予写入该数据库的权限。

如果使用系统分配的托管标识,请在 Azure 门户中转到 Azure IoT 操作实例并选择“概述”。 复制“Azure IoT 操作 Arc 扩展”后列出的扩展的名称。 例如 azure-iot-operations-xxxx7。 可以使用 Azure IoT 操作 Arc 扩展的名称找到系统分配的托管标识。

  1. 在 Azure 数据资源管理器数据库(而不是群集)中的“概述”下,依次选择“权限”>“添加”,然后选择“引入者”作为角色。 这将为托管标识提供写入 Azure 数据资源管理器数据库所需的权限。 若要了解详细信息,请参阅基于角色的访问控制
  2. 搜索为云连接设置的用户分配的托管标识或系统分配的托管标识的名称。 例如 azure-iot-operations-xxxx7
  3. 然后选择“选择”。

为 Azure 数据资源管理器创建数据流终结点

  1. 在操作体验中,选择“数据流终结点”选项卡。

  2. 在“创建新的数据流终结点”下,选择“Azure 数据资源管理器”>“新建”。

    使用操作体验门户创建 Azure 数据资源管理器数据流终结点的屏幕截图。

  3. 输入以下用于终结点的设置:

    设置 说明
    Name 数据流终结点的名称。
    主机 Azure 数据资源管理器终结点的主机名,格式为 <cluster>.<region>.kusto.windows.net
    身份验证方法 用于身份验证的方法。 选择系统分配的托管标识用户分配的托管标识
    客户端 ID 用户分配的托管标识的客户端 ID。 如果使用的是“用户分配的托管标识”,则为必需。
    租户 ID 用户分配的托管标识的租户 ID。 如果使用的是“用户分配的托管标识”,则为必需。
  4. 选择“应用”来预配终结点。

可用身份验证方法

以下身份验证方法可用于 Azure 数据资源管理器终结点。

系统分配的托管标识

在配置数据流终结点之前,请为 Azure IoT 操作托管标识分配一个角色,以授予写入 Azure 数据资源管理器数据库的权限:

  1. 在 Azure 门户中,转到 Azure IoT 操作实例并选择“概述”
  2. 复制“Azure IoT 操作 Arc 扩展”后列出的扩展的名称。 例如 azure-iot-operations-xxxx7
  3. 转到 Azure 数据资源管理器数据库(而不是群集)中的“概述”下,依次选择“权限”>“添加”,然后选择适当的角色。
  4. 搜索系统分配的托管标识的名称。 例如 azure-iot-operations-xxxx7
  5. 选择“选择” 。

然后,使用系统分配的托管标识设置配置数据流终结点。

在操作体验数据流终结点设置页中,选择“基本”选项卡,然后选择“身份验证方法”>“系统分配的托管标识”。

如果需要替代系统分配的托管标识受众,则可以指定 audience 设置。

在大多数情况下,无需指定其他设置。 此配置会创建具有默认受众 https://api.kusto.windows.net 的托管标识。

用户分配的托管标识

若要使用用户分配的托管标识进行身份验证,必须先部署已启用安全设置的 Azure IoT 操作。 然后,需要设置用户分配的托管标识以进行云连接。 若要了解详细信息,请参阅在 Azure IoT 操作部署中启用安全设置

在配置数据流终结点之前,请为用户分配的托管标识分配一个角色,以授予写入 Azure 数据资源管理器数据库的权限:

  1. 在 Azure 门户中,转到数据资源管理器数据库(而不是群集),在“概述”下,依次选择“权限”>“添加”,然后选择适当的角色。
  2. 搜索用户分配的托管标识的名称。
  3. 选择“选择” 。

然后,使用用户分配的托管标识设置配置数据流终结点。

在操作体验数据流终结点设置页中,选择“基本”选项卡,然后选择“身份验证方法”>“用户分配的托管标识”。

在相应的字段中输入用户分配的托管标识客户端 ID 和租户 ID。

在这里,范围是可选的,默认为 https://api.kusto.windows.net/.default。 如果需要替代默认范围,请通过 Bicep 或 Kubernetes 指定 scope 设置。

高级设置

可以为 Azure 数据资源管理器终结点设置高级设置,例如批处理延迟和消息计数。

使用 batching 设置配置消息的最大数量和消息发送到目标之前的最大延迟。 如果要优化网络带宽并减少对目标的请求数,此设置会非常有用。

字段 说明 必须
latencySeconds 将消息发送到目标之前要等待的最大秒数。 默认值为 60 秒。
maxMessages 要发送到目标的最大消息数。 默认值为 100000 条消息。

例如,要将最大消息数配置为 1000,并将最大延迟配置为 100 秒,请使用以下设置:

在操作体验中,选择数据流终结点的“高级”选项卡。

使用操作体验设置 Azure 数据资源管理器高级设置的屏幕截图。

后续步骤

要了解有关数据流的详细信息,请参阅创建数据流