使用 SDK 建立 Azure 數據總管的事件中樞數據連線
Azure 數據總管提供從 事件中樞擷取、巨量數據串流平臺和事件擷取服務。 事件中樞可以近乎即時地每秒處理數百萬個事件。
在本文中,您會連線到事件中樞,並將數據內嵌至 Azure 數據總管。 如需從事件中樞擷取的概觀,請參閱 Azure 事件中樞 數據連線。
若要瞭解如何在 Azure 數據總管 Web UI、Azure 入口網站 或使用 ARM 範本建立連線,請參閱建立事件中樞數據連線。
如需以舊版 SDK 為基礎的程式代碼範例,請參閱 封存一文。
必要條件
- Azure 訂用帳戶。 建立免費的 Azure 帳戶。
- Azure 資料總管叢集和資料庫。 建立叢集和資料庫。
- 目的地數據表。 建立數據表 或使用現有的數據表。
- 數據表的擷取對應。
- 具有 擷取數據的事件中樞 。
建立事件中樞數據連線
在本節中,您會建立事件中樞與 Azure 數據總管數據表之間的連線。 只要此連線已就緒,數據就會從事件中樞傳輸至目標數據表。 如果事件中樞移至不同的資源或訂用帳戶,您必須更新或重新建立連線。
建立要用於驗證的Microsoft Entra 應用程式主體 。 您需要目錄(租使用者)識別碼、應用程式識別碼和客戶端密碼。
執行下列程式碼。
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID var clientSecret = "PlaceholderClientSecret"; //Client Secret var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret); var resourceManagementClient = new ArmClient(credentials, subscriptionId); var resourceGroupName = "testrg"; //The cluster and database that are created as part of the Prerequisites var clusterName = "mykustocluster"; var databaseName = "mykustodatabase"; var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync(); var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value; var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value; var database = (await cluster.GetKustoDatabaseAsync(databaseName)).Value; var dataConnections = database.GetKustoDataConnections(); var eventHubConnectionName = "myeventhubconnect"; //The event hub that is created as part of the Prerequisites var eventHubResourceId = new ResourceIdentifier("/subscriptions/<eventHubSubscriptionId>/resourceGroups/<eventHubResourceGroupName>/providers/Microsoft.EventHub/namespaces/<eventHubNamespaceName>/eventhubs/<eventHubName>"); var consumerGroup = "$Default"; var location = AzureLocation.CentralUS; //The table and column mapping are created as part of the Prerequisites var tableName = "StormEvents"; var mappingRuleName = "StormEvents_CSV_Mapping"; var dataFormat = KustoEventHubDataFormat.Csv; var compression = EventHubMessagesCompressionType.None; var databaseRouting = KustoDatabaseRouting.Multi; var eventHubConnectionData = new KustoEventHubDataConnection { EventHubResourceId = eventHubResourceId, ConsumerGroup = consumerGroup, Location = location, TableName = tableName, MappingRuleName = mappingRuleName, DataFormat = dataFormat, Compression = compression, DatabaseRouting = databaseRouting }; await dataConnections.CreateOrUpdateAsync(WaitUntil.Completed, eventHubConnectionName, eventHubConnectionData);
設定 建議的值 欄位描述 tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx 您的租用戶識別碼。 也稱為目錄標識碼。 subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx 您用來建立資源的訂用帳戶標識碼。 clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx 應用程式可存取租用戶中資源的用戶端標識碼。 clientSecret PlaceholderClientSecret 應用程式可存取租用戶中資源的客戶端密碼。 resourceGroupName testrg 包含叢集的資源群組名稱。 clusterName mykustocluster 您叢集的名稱。 databaseName mykustodatabase 叢集中目標資料庫的名稱。 dataConnectionName myeventhubconnect 數據連線所需的名稱。 tableName StormEvents 目標資料庫中的目標數據表名稱。 mappingRuleName StormEvents_CSV_Mapping 與目標數據表相關的數據行對應名稱。 dataFormat csv 訊息的數據格式。 eventHubResourceId 資源識別碼 事件中樞的資源標識碼,其中包含要擷取的數據。 consumerGroup $Default 事件中樞的取用者群組。 location Central US 數據連線資源的位置。 壓縮 gzip 或 None 數據壓縮的類型。 databaseRouting 多重 或 單一 線上的資料庫路由。 如果您將值設定為Single,數據聯機會路由傳送至叢集中的單一資料庫,如 databaseName 設定中所指定。 如果您將值設定為 Multi,您可以使用資料庫擷取屬性覆寫預設目標資料庫。 如需詳細資訊,請參閱 事件路由。
拿掉事件中樞數據連線
若要移除事件中樞連線,請執行下列命令:
kustoManagementClient.DataConnections.Delete(resourceGroupName, clusterName, databaseName, dataConnectionName);
相關內容
- 檢查事件中 樞範例訊息應用程式的連線
- 查詢 Web UI 中的數據