Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure Data Explorer oferece ingestão de Hubs de Eventos, uma plataforma de streaming de big data e um serviço de ingestão de eventos. Os Hubs de Eventos podem processar milhões de eventos por segundo quase em tempo real.
Neste artigo, você se conecta a um hub de eventos e ingere dados no Azure Data Explorer. Para obter uma visão geral sobre a ingestão a partir de Hubs de Eventos, consulte a conexão de dados dos Hubs de Eventos do Azure.
Para saber como criar a conexão na interface do usuário da Web do Azure Data Explorer, no portal do Azure ou com um modelo ARM, consulte Criar uma conexão de dados de Hubs de Eventos.
Para obter exemplos de código baseados em versões anteriores do SDK, consulte o artigo arquivado.
Pré-requisitos
- Uma assinatura do Azure. Crie uma conta do Azure gratuita.
- Um cluster e um banco de dados do Azure Data Explorer. Crie um cluster e um banco de dados.
- Uma tabela de destino. Crie uma tabela ou use uma tabela existente.
- Um mapeamento de ingestão para a tabela.
- Um hub de eventos com dados para ingestão.
Criar uma conexão de dados do hub de eventos
Nesta seção, você estabelece uma conexão entre o hub de eventos e sua tabela do Azure Data Explorer. Enquanto essa conexão estiver em vigor, os dados serão transmitidos do hub de eventos para a tabela de destino. Se o hub de eventos for movido para um recurso ou assinatura diferente, você precisará atualizar ou recriar a conexão.
Instale o pacote Microsoft.Azure.Management.Kusto NuGet.
Crie uma entidade de aplicação Microsoft Entra para utilizar para autenticação. Você precisa do ID do diretório (locatário), ID do aplicativo e segredo do cliente.
Execute o código a seguir.
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);Setting Valor sugerido Descrição do campo tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx O ID do inquilino. Também conhecido como ID de diretório. ID de subscrição xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx A ID de assinatura que você usa para a criação de recursos. clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx A ID do cliente do aplicativo que pode acessar recursos em seu locatário. clientSecret PlaceholderClientSecret O segredo do cliente do aplicativo que pode acessar recursos em seu locatário. resourceGroupName Testrg O nome do grupo de recursos que contém o cluster. nome_do_cluster Mykustocluster O nome do seu cluster. databaseName mykustodatabase O nome do banco de dados de destino no cluster. dataConnectionName MyEventHubConnect O nome desejado da sua conexão de dados. tableName StormEvents O nome da tabela de destino no banco de dados de destino. nomeDaRegraDeMapeamento StormEvents_CSV_Mapping O nome do mapeamento de colunas relacionado à tabela de destino. formato de dados CSV O formato de dados da mensagem. ID do recurso do Event Hub ID do recurso O ID do recurso do hub de eventos que contém os dados para ingestão. Grupo de consumidores $Default O grupo de consumidores do seu hub de eventos. localização Centro dos EUA O local do recurso de conexão de dados. compressão gzip ou Nenhum O tipo de compressão de dados. roteamento de base de dados Multi ou Single O roteamento de banco de dados para a conexão. Se você definir o valor como Single, a conexão de dados será roteada para um único banco de dados no cluster, conforme especificado na configuração databaseName . Se você definir o valor como Multi, poderá substituir o banco de dados de destino padrão usando a propriedade Databaseingestion. Para obter mais informações, consulte Roteamento de eventos.
Remover uma conexão de dados do hub de eventos
Para remover a conexão do hub de eventos, execute o seguinte comando:
kustoManagementClient.DataConnections.Delete(resourceGroupName, clusterName, databaseName, dataConnectionName);
Conteúdo relacionado
- Verifique a ligação com a aplicação de exemplo de mensagens do Hub de Eventos
- Consultar dados na interface do usuário da Web