通过服务主体将数据从 Azure EventHub 引入 Azure 数据资源管理器

Ingesting data into Azure Data Explorer from Azure EventHub through service principal

初始版本---

我能够将 EventHub 中的数据直接提取到我的 Azure 数据资源管理器 (ADX) 数据库中。在我的生产案例中,Eventhub 与 ADX 集群处于不同的订阅中。服务主体通过数据接收者角色获得对 eventhub 的访问权限。我已将应用程序(服务主体)作为摄取器添加到 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-acquisition)。

初版答案---

假设您要实现的目标是将事件中心的数据提取到 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 集群的权限。