You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ARM模板配置Stream Analytics Job的Data Explorer输出?

配置Stream Analytics Job输出到Azure Data Explorer的ARM模板

核心配置要点

  • 输出类型必须指定为Microsoft.Kusto/clusters/databases
  • 需包含Kusto集群/数据库资源ID、授权模式、目标表名、映射规则名等关键参数
  • 必须配置依赖关系,确保Kusto集群和数据库先于Stream Analytics Job完成部署

ARM模板输出配置片段

以下是完整的输出资源配置示例,可直接嵌入到Stream Analytics Job的ARM模板中:

"resources": [
  {
    "type": "Microsoft.StreamAnalytics/streamingjobs/outputs",
    "apiVersion": "2020-03-01",
    "name": "[concat(parameters('streamingJobName'), '/', parameters('kustoOutputName'))]",
    "dependsOn": [
      "[resourceId('Microsoft.StreamAnalytics/streamingjobs', parameters('streamingJobName'))]",
      "[resourceId('Microsoft.Kusto/clusters/databases', parameters('kustoClusterName'), parameters('kustoDatabaseName'))]"
    ],
    "properties": {
      "datasource": {
        "type": "Microsoft.Kusto/clusters/databases",
        "properties": {
          "clusterResourceId": "[resourceId('Microsoft.Kusto/clusters', parameters('kustoClusterName'))]",
          "databaseResourceId": "[resourceId('Microsoft.Kusto/clusters/databases', parameters('kustoClusterName'), parameters('kustoDatabaseName'))]",
          "tableName": "[parameters('kustoTableName')]",
          "mappingRuleName": "[parameters('kustoMappingName')]",
          "authenticationMode": "Msi" // 推荐使用MSI授权,也可根据场景改为UserToken
        }
      },
      "serialization": {
        "type": "Json", // 匹配你的数据序列化格式,支持Csv、Avro等
        "properties": {
          "encoding": "UTF8"
        }
      }
    }
  }
]

参数说明

  • clusterResourceId/databaseResourceId:必须填写Kusto集群和数据库的完整资源ID,不能仅用名称替代
  • authenticationMode:若使用MSI,需为Stream Analytics Job的系统分配身份添加Kusto数据库的Ingestor角色权限
  • mappingRuleName:需确保Kusto数据库中已存在该映射规则,也可在ARM模板中同时部署Kusto映射资源

解决导出模板无效的问题

  • 导出的默认模板可能包含硬编码的环境参数或缺失关键属性,需手动替换为模板参数并补充datasource的完整配置
  • 检查导出模板的apiVersion是否为2020-03-01及以上版本,旧版本可能不支持Kusto输出类型

MSI权限补充配置

若采用MSI授权,需在ARM模板中添加角色分配资源,为Stream Analytics Job授予Kusto数据写入权限:

{
  "type": "Microsoft.Kusto/clusters/databases/providers/roleAssignments",
  "apiVersion": "2022-07-07",
  "name": "[concat(parameters('kustoClusterName'), '/', parameters('kustoDatabaseName'), '/Microsoft.Authorization/', guid(parameters('streamingJobName')))]",
  "dependsOn": [
    "[resourceId('Microsoft.StreamAnalytics/streamingjobs', parameters('streamingJobName'))]",
    "[resourceId('Microsoft.Kusto/clusters/databases', parameters('kustoClusterName'), parameters('kustoDatabaseName'))]"
  ],
  "properties": {
    "roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', '96a9d632-3b6d-48e8-b73c-0b729b8286f1')]", // Kusto Ingestor角色固定ID
    "principalId": "[reference(resourceId('Microsoft.StreamAnalytics/streamingjobs', parameters('streamingJobName')), '2020-03-01').identity.principalId]",
    "principalType": "ServicePrincipal"
  }
}

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:55:20