Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de Fabric, Power BI e SQL. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
O Azure Data Explorer oferece ingestão de Hubs de Eventos, uma plataforma de streaming de Big Data e serviços 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 conectará a um hub de eventos e fará ingestão de dados no Azure Data Explorer. Para obter uma visão geral sobre a ingestão dos Hubs de Eventos, consulte Conexão de dados dos Hubs de Eventos do Azure.
Para saber como criar a conexão na interface web do Azure Data Explorer, no portal do Azure ou com um modelo do ARM, consulte Criar uma conexão de dados dos Hubs de Eventos.
Para exemplos de código baseados em versões anteriores do SDK, consulte o artigo arquivado.
Nesta seção, você estabelecerá uma conexão entre o hub de eventos e a 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, será necessário atualizar ou recriar a conexão.
Criar uma entidade de aplicativo do Microsoft Entra para usar na autenticação. Você precisa da ID do diretório (locatário), da ID do aplicativo e do 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);
Configuração | Valor sugerido | Descrição do campo |
---|---|---|
tenantId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | ID do locatário. Também conhecida como ID do diretório. |
subscriptionId | xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx | A ID da 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 seu cluster. |
clusterName | mykustocluster | O nome do seu cluster. |
databaseName | mykustodatabase | O nome do banco de dados de destino no cluster. |
dataConnectionName | myeventhubconnect | O nome desejado da conexão de dados. |
tableName | StormEvents | O nome da tabela de destino no banco de dados de destino. |
mappingRuleName | StormEvents_CSV_Mapping | O nome do mapeamento de coluna relacionado à tabela de destino. |
dataFormat | csv | O formato de dados da mensagem. |
eventHubResourceId | ID de Recurso | A ID do recurso do hub de eventos que contém os dados para ingestão. |
consumerGroup | $Default | O grupo de consumidores do hub de eventos. |
local | Centro dos EUA | A localização do recurso de conexão de dados. |
compactação | gzip ou nenhum | O tipo de compactação de dados. |
databaseRouting | Multi ou Single | O roteamento de banco de dados para a conexão. Se você definir o valor para Single, a conexão de dados será direcionada para um único banco de dados no cluster conforme especificado na configuração databaseName. Se você definir o valor para Multi, poderá substituir o banco de dados de destino padrão usando a propriedade de ingestão Database. Para obter mais informações, confira Roteamento de evento. |
Para remover a conexão do hub de eventos, execute o seguinte comando:
kustoManagementClient.DataConnections.Delete(resourceGroupName, clusterName, databaseName, dataConnectionName);
Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de Fabric, Power BI e SQL. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmo