首页 > 解决方案 > 通过服务主体将数据从 Azure EventHub 引入 Azure 数据资源管理器

问题描述

初始版本---

我能够将 EventHub 中的数据直接提取到我的 Azure 数据资源管理器 (ADX) 数据库中。在我的生产案例中,Eventhub 与 ADX 集群的订阅不同。服务主体通过数据接收者角色获得对 eventthub 的访问权限。我已将 App(Service principal) 作为摄取器添加到 ADX 数据库。似乎我需要运行查询或编写一些代码来让 ADX 数据库使用服务主体从事件中心摄取数据,但我的在线搜索并没有取得成果。我应该遵循哪些步骤?

尝试2解释情况——

  1. EventHub 仅授权 ServicePrincipal 接收数据
  2. 我创建的应用程序已将权限委派给 ADX
  3. 将从 EventHub 摄取数据的 ADX 数据库在步骤 2 中分配给应用程序的 DataIngestor RBAC 角色。
  4. 这篇文章 - https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app#register-your-application-with-an-azure-ad-tenant非常详细地描述了什么我正在尝试实现,但使用存储帐户
  5. 在上面引用的文章中 - 我需要本节的 ADX 等效项(https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app#client-libraries-for-token -收购)。

标签: azureazure-eventhubazure-data-explorer

解决方案


初始版本的答案---

假设您要实现的是将事件中心中的数据引入 Azure 数据资源管理器,当事件中心和 Azure 数据资源管理器群集资源位于不同的订阅上时,那么这是受支持的,并且不需要添加任何额外的权限你描述的。

以下是有关如何将数据从事件中心引入 Azure 数据资源管理器的说明:https ://docs.microsoft.com/en-in/azure/data-explorer/ingest-data-event-hub

当事件中心和 Azure 数据资源管理器群集位于不同的订阅上时,您需要确保为 Microsoft.Kusto 资源提供程序注册这两个订阅,以便引入工作。

这是一篇有助于通过门户注册资源提供者的文章:https ://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services

以下是如何使用 powershell 注册资源提供程序的示例:https ://docs.microsoft.com/en-us/powershell/module/azurerm.resources/register-azurermresourceprovider?view=azurermps-6.13.0

回答第二个版本---

目前不支持,您必须注册订阅才能让 Kusto 能够获得从事件中心读取到 kusto 集群的权限。


推荐阅读