Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u gegevens naar Event Hubs streamt en verwerkt met Azure Stream Analytics. U wordt begeleid bij de volgende stappen:
- Maak een Event Hubs-naamruimte.
- Maak een Kafka-client waarmee berichten naar de Event Hub worden verzonden.
- Maak een Stream Analytics-taak waarmee gegevens van de Event Hub worden gekopieerd naar een Azure Blob-opslag.
U hoeft uw protocolclients niet te wijzigen of uw eigen clusters uit te voeren wanneer u het Kafka-eindpunt gebruikt dat wordt weergegeven door een Event Hub. Azure Event Hubs ondersteunt Apache Kafka versie 1.0. en hoger.
Vereiste voorwaarden
Zorg ervoor dat u aan de volgende vereisten voldoet om deze snelstart uit te voeren:
- Een Azure-abonnement. Als u nog geen abonnement hebt, maakt u een gratis account voordat u begint.
- Java Development Kit (JDK) 1.7+.
- Download en installeer een binair Maven-archief.
- Git
- Een Azure Storage-account. Als u nog geen account hebt, maakt u er een voordat u verdergaat. De Stream Analytics-taak in dit scenario slaat de uitvoergegevens op in een Azure-blobopslag.
Een Event Hubs-naamruimte maken
Wanneer u een Event Hubs-naamruimte maakt, wordt het Kafka-eindpunt voor de naamruimte automatisch ingeschakeld. U kunt gebeurtenissen streamen vanuit uw toepassingen die gebruikmaken van het Kafka-protocol naar Event Hubs. Volg stapsgewijze instructies in Een evenementhub maken met behulp van de Azure Portal om een Event Hubs-naamruimte te maken. Als u een dedicated cluster gebruikt, raadpleeg Een naamruimte en event hub maken in een dedicated cluster.
Opmerking
Event Hubs voor Kafka wordt niet ondersteund in de basic-laag .
Berichten verzenden met Kafka in Event Hubs
Kloon de Azure Event Hubs voor Kafka-opslagplaats naar uw computer.
Navigeer naar de map:
azure-event-hubs-for-kafka/quickstart/java/producer.Werk de configuratiedetails voor de producent bij in
src/main/resources/producer.config. Geef de naam en verbindingsreeks op voor de Event Hub-naamruimte.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}";Navigeer naar
azure-event-hubs-for-kafka/quickstart/java/producer/src/main/java/en open TestDataReporter.java bestand in een editor van uw keuze.Markeer de volgende regel code als commentaar:
//final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "Test Data " + i);Voeg de volgende regel code toe in plaats van de commentaarcode:
final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "{ \"eventData\": \"Test Data " + i + "\" }");Met deze code worden de gebeurtenisgegevens in JSON-indeling verzonden. Wanneer u invoer voor een Stream Analytics-taak configureert, geeft u JSON op als de indeling voor de invoergegevens.
Voer de producent uit en stream naar Event Hubs. Wanneer u op een Windows-computer een Node.js opdrachtprompt gebruikt, schakelt u over naar de
azure-event-hubs-for-kafka/quickstart/java/producermap voordat u deze opdrachten uitvoert.mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
Controleer of event hub de gegevens ontvangt
Selecteer Event Hubs onder ENTITEITEN. Controleer of u een event hub met de naam test ziet.
Controleer of u berichten ziet die binnenkomen in de Event Hub.
Gebeurtenisgegevens verwerken met behulp van een Stream Analytics-taak
In deze sectie maakt u een Azure Stream Analytics-taak. De Kafka-client verzendt gebeurtenissen naar de Event Hub. U maakt een Stream Analytics-taak die gebeurtenisgegevens als invoer gebruikt en uitvoert naar een Azure Blob-opslag. Als u geen Azure Storage-account hebt, maakt u er een.
De query in de Stream Analytics-taak passeert de gegevens zonder analyses uit te voeren. U kunt een query maken waarmee de invoergegevens worden getransformeerd om uitvoergegevens in een andere indeling te produceren of met verkregen inzichten.
Een Stream Analytics-taak maken
- Selecteer + Een resource maken in Azure Portal.
- Selecteer Analytics in het menu Azure Marketplace en selecteer Stream Analytics-taak.
- Voer op de pagina Nieuwe Stream Analytics de volgende acties uit:
Voer een naam in voor de taak.
Selecteer uw abonnement.
Selecteer Nieuwe aanmaken voor de Resourcegroep en voer de naam in. U kunt ook een bestaande resourcegroep gebruiken.
Selecteer een locatie voor de taak.
Selecteer Maken om de taak te maken.
Taakinvoer configureren
Selecteer in het meldingsbericht Naar de resource gaan om de stream analytics-taakpagina weer te geven.
Selecteer Invoer in de sectie TAAKTOPOLOGIE in het menu links.
Selecteer Stroominvoer toevoegen en selecteer vervolgens Event Hub.
Voer de volgende acties uit op de configuratiepagina van de Event Hub-invoer :
Geef een alias op voor de invoer.
Selecteer uw Azure-abonnement.
Selecteer de Event Hub-naamruimte die u eerder hebt gemaakt.
Selecteer test voor de Event Hub.
Selecteer Opslaan.
Taakuitvoer configureren
- Selecteer Uitvoer in de sectie TAAKTOPOLOGIE in het menu.
- Selecteer + Toevoegen op de werkbalk en selecteer Blob Storage
- Voer op de pagina uitvoerinstellingen voor Blob Storage de volgende acties uit:
Geef een alias op voor de uitvoer.
Selecteer uw Azure-abonnement.
Selecteer uw Azure Storage-account.
Voer een naam in voor de container waarin de uitvoergegevens van de Stream Analytics-query worden opgeslagen.
Selecteer Opslaan.
Een query definiƫren
Nadat u een Stream Analytics-taak hebt ingesteld om een binnenkomende gegevensstroom te lezen, is de volgende stap het maken van een transformatie waarmee gegevens in realtime worden geanalyseerd. U definieert de transformatiequery met behulp van Stream Analytics Query Language. In dit scenario definieert u een query die de gegevens doorloopt zonder transformatie uit te voeren.
Selecteer Query.
Vervang in het queryvenster door
[YourOutputAlias]de uitvoeralias die u eerder hebt gemaakt.Vervang door
[YourInputAlias]de invoeralias die u eerder hebt gemaakt.Selecteer Opslaan op de werkbalk.
Voer de Stream Analytics-taak uit
Selecteer Overzicht in het linkermenu.
Kies Start.
Selecteer Start op de pagina Starttaak.
Wacht totdat de status van de taak wordt gewijzigd van Starten tot actief.
Het scenario testen
Voer de Kafka-producent opnieuw uit om gebeurtenissen naar de Event Hub te verzenden.
mvn exec:java -Dexec.mainClass="TestProducer"Controleer of je ziet dat de uitvoergegevens worden gegenereerd in de Azure Blob Storage. U ziet een JSON-bestand in de container met 100 rijen die eruitzien als de volgende voorbeeldrijen:
{"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"}De Azure Stream Analytics-taak heeft invoergegevens ontvangen van de Event Hub en opgeslagen in de Azure Blob Storage in dit scenario.
Volgende stappen
In dit artikel hebt u geleerd u hoe u kunt streamen naar Event Hubs zonder uw protocolclients te wijzigen of uw eigen clusters uit te voeren. Zie de Ontwikkelaarshandleiding voor Apache Kafka voor Azure Event Hubs voor meer informatie over Event Hubs voor Apache Kafka.