Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como transmitir dados para os Hubs de Eventos e processá-los com o Azure Stream Analytics. Ele orienta você pelas seguintes etapas:
- Crie um namespace dos Hubs de Eventos.
- Crie um cliente Kafka que envie mensagens para o hub de eventos.
- Crie um trabalho do Stream Analytics que copia dados do hub de eventos para um armazenamento de blobs do Azure.
Você não precisa alterar seus clientes de protocolo ou executar seus próprios clusters ao usar o endpoint Kafka exposto pelo serviço de hub de eventos. Os Hubs de Eventos do Azure dão suporte ao Apache Kafka versão 1.0 e superior.
Pré-requisitos
Para concluir este início rápido, verifique se você tem os seguintes pré-requisitos:
- Uma assinatura do Azure. Se você não tiver uma, crie uma conta gratuita antes de começar.
- JDK (Java Development Kit) 1.7+.
- Baixe e instale um arquivo binário do Maven.
- Git
- Uma conta do Armazenamento do Azure. Se você não tiver um, crie um antes de continuar. O trabalho do Stream Analytics neste passo a passo armazena os dados de saída em um armazenamento de blobs do Azure.
Criar um namespace dos Hubs de Eventos
Quando você cria um namespace dos Hubs de Eventos, o ponto de extremidade do Kafka para o namespace é habilitado automaticamente. Você pode transmitir eventos de seus aplicativos que usam o protocolo Kafka em hubs de eventos. Siga as instruções passo a passo em Criar um Hub de Eventos usando o portal do Azure para criar um namespace do Hubs de Eventos. Se você estiver usando um cluster dedicado, consulte Criar um namespace e um hub de eventos em um cluster dedicado.
Observação
Não há suporte para Hubs de Eventos para Kafka na camada básica .
Enviar mensagens com o Kafka nos Hubs de Eventos
Clone o repositório Azure Event Hubs for Kafka para sua máquina.
Navegue até a pasta:
azure-event-hubs-for-kafka/quickstart/java/producer.Atualize os detalhes de configuração do produtor em
src/main/resources/producer.config. Especifique o nome e a cadeia de conexão para o namespace do hub de eventos.bootstrap.servers={EVENT HUB NAMESPACE}.servicebus.windows.net:9093 security.protocol=SASL_SSL sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{CONNECTION STRING for EVENT HUB NAMESPACE}";Navegue até
azure-event-hubs-for-kafka/quickstart/java/producer/src/main/java/, e abra TestDataReporter.java arquivo em um editor de sua escolha.Comente a seguinte linha de código:
//final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "Test Data " + i);Adicione a seguinte linha de código no lugar do código comentado:
final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "{ \"eventData\": \"Test Data " + i + "\" }");Esse código envia os dados do evento no formato JSON . Ao configurar a entrada para um trabalho do Stream Analytics, especifique JSON como o formato para os dados de entrada.
Execute o produtor e transmita para os hubs de eventos. Em um computador Windows, ao usar um prompt de comando Node.js, mude para a pasta antes de executar esses comandos.
mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
Verificar se o hub de eventos recebe os dados
Selecione Hubs de Eventos em ENTIDADES. Confirme que você vê um hub de eventos chamado teste.
Confirme se você vê mensagens chegando ao hub de eventos.
Processar dados de eventos usando um trabalho do Stream Analytics
Nesta seção, você criará um trabalho do Azure Stream Analytics. O cliente Kafka envia eventos para o hub de eventos. Você cria um trabalho do Stream Analytics que usa dados de evento como entrada e os gera para um armazenamento de blobs do Azure. Se você não tiver uma conta de Armazenamento do Azure, crie uma.
A consulta no trabalho do Stream Analytics passa pelos dados sem executar nenhuma análise. Você pode criar uma consulta que transforma os dados de entrada para produzir dados de saída em um formato diferente ou com insights obtidos.
Criar uma tarefa de Stream Analytics
- Selecione + Criar um recurso no portal do Azure.
- Selecione Análise no menu do Azure Marketplace e selecione o trabalho do Stream Analytics.
- Na página Novo Stream Analytics , execute as seguintes ações:
Insira um nome para o trabalho.
Selecione sua assinatura.
Selecione Criar novo para o grupo de recursos e insira o nome. Você também pode usar um grupo de recursos existente.
Selecione um local para o trabalho.
Selecione Criar para criar o trabalho.
Configurar entrada de trabalho
Na mensagem de notificação, selecione Ir para o recurso para ver a página do trabalho do Stream Analytics.
Selecione Entradas na seção TOPOLOGIA DO TRABALHO no menu à esquerda.
Selecione Adicionar entrada de fluxo e, em seguida, selecione Hub de Eventos.
Na página de configuração de entrada do Hub de Eventos , execute as seguintes ações:
Especifique um alias para a entrada.
Selecione sua assinatura do Azure.
Selecione o namespace do hub de eventos criado anteriormente.
Selecione teste para o hub de eventos.
Clique em Salvar.
Configurar saída de trabalho
- Selecione Saídas na seção TOPOLOGIA DO TRABALHO no menu.
- Selecione + Adicionar na barra de ferramentas e selecione Armazenamento de Blobs
- Na página de configurações de saída do Armazenamento de Blobs, execute as seguintes ações:
Especifique um alias para a saída.
Selecione sua assinatura do Azure.
Selecione sua conta de Armazenamento do Azure.
Insira um nome para o contêiner que armazena os dados de saída da consulta do Stream Analytics.
Clique em Salvar.
Definir uma consulta
Depois que você tiver uma configuração de trabalho do Stream Analytics para ler um fluxo de dados de entrada, a próxima etapa é criar uma transformação que analise dados em tempo real. Você define a consulta de transformação usando a Linguagem de Consulta do Stream Analytics. Neste passo a passo, você define uma consulta que passa pelos dados sem executar nenhuma transformação.
Selecione Consulta.
Na janela de consulta, substitua
[YourOutputAlias]pelo alias de saída que você criou anteriormente.Substitua
[YourInputAlias]pelo alias de entrada que você criou anteriormente.Selecione Salvar na barra de ferramentas.
Executar o trabalho do Stream Analytics
Selecione Visão geral no menu à esquerda.
Selecione Iniciar.
Na página Iniciar trabalho , selecione Iniciar.
Aguarde até que o status do trabalho mude de Iniciando para em execução.
Testar o cenário
Execute o Produtor Kafka novamente para enviar eventos para o Event Hub.
mvn exec:java -Dexec.mainClass="TestProducer"Confirme se os dados de saída são gerados no armazenamento de blobs do Azure. Você verá um arquivo JSON no contêiner com 100 linhas que se parecem com as seguintes linhas de exemplo:
{"eventData":"Test Data 0","EventProcessedUtcTime":"2018-08-30T03:27:23.1592910Z","PartitionId":0,"EventEnqueuedUtcTime":"2018-08-30T03:27:22.9220000Z"} {"eventData":"Test Data 1","EventProcessedUtcTime":"2018-08-30T03:27:23.3936511Z","PartitionId":0,"EventEnqueuedUtcTime":"2018-08-30T03:27:22.9220000Z"} {"eventData":"Test Data 2","EventProcessedUtcTime":"2018-08-30T03:27:23.3936511Z","PartitionId":0,"EventEnqueuedUtcTime":"2018-08-30T03:27:22.9220000Z"}O trabalho do Azure Stream Analytics recebeu dados de entrada do hub de eventos e os armazenou no armazenamento de blobs do Azure nesse cenário.
Próximas etapas
Neste artigo, você aprendeu a transmitir para os Hubs de Eventos sem alterar seus clientes de protocolo ou executar seus próprios clusters. Para saber mais sobre os Hubs de Eventos para Apache Kafka, consulte o guia de desenvolvedor do Apache Kafka para Hubs de Eventos do Azure.