Megosztás a következőn keresztül:


Oktatóanyag: Apache Kafka for Event Hubs-események feldolgozása Stream Analytics használatával

Ez a cikk bemutatja, hogyan streamelheti az adatokat az Event Hubsba, és hogyan dolgozhatja fel őket az Azure Stream Analytics használatával. Végigvezeti a következő lépéseken:

  1. Hozzon létre egy Event Hubs-névteret.
  2. Hozzon létre egy Kafka-ügyfelet, amely üzeneteket küld az eseményközpontnak.
  3. Hozzon létre egy Stream Analytics-feladatot, amely adatokat másol az eseményközpontból egy Azure Blob Storage-ba.

Nem kell módosítania a protokoll ügyfeleit, és nem kell saját fürtöket futtatnia, ha az eseményközpont által közzétett Kafka-végpontot használja. Az Azure Event Hubs támogatja az Apache Kafka 1.0-s és újabb verzióját.

Előfeltételek

A rövid útmutató elvégzéséhez győződjön meg arról, hogy teljesülnek az alábbi előfeltételek:

Event Hubs-névtér létrehozása

Event Hubs-névtér létrehozásakor a névtér Kafka-végpontja automatikusan engedélyezve lesz. A Kafka protokollt használó alkalmazásokból eseményeket streamelhet eseményközpontokba. Az Event Hubs-névtér létrehozásához kövesse az Eseményközpont létrehozása az Azure Portallal című témakör részletes utasításait. Ha dedikált fürtöt használ, tekintse meg a Névtér és eseményközpont létrehozása dedikált fürtben című témakört.

Megjegyzés

A Kafkához készült Event Hubs nem támogatott az alapszinten .

Üzenetek küldése a Kafkával az Event Hubsban

  1. Klónozza az Azure Event Hubs for Kafka-adattárat a gépére.

  2. Keresse meg a mappát: azure-event-hubs-for-kafka/quickstart/java/producer.

  3. Frissítse a gyártó konfigurációs adatait a következő helyen src/main/resources/producer.config: . Adja meg az eseményközpont névteréneknevét és kapcsolati sztringét.

    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}";
    
  4. Navigáljon, azure-event-hubs-for-kafka/quickstart/java/producer/src/main/java/és nyissa meg TestDataReporter.java fájlt egy tetszőleges szerkesztőben.

  5. Fűzzön megjegyzést a következő kódsorhoz:

                //final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "Test Data " + i);
    
  6. Adja hozzá a következő kódsort a megjegyzésben szereplő kód helyett:

                final ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, time, "{ \"eventData\": \"Test Data " + i + "\" }");            
    

    Ez a kód JSON formátumban küldi el az eseményadatokat. Amikor bemenetet konfigurál egy Stream Analytics-feladathoz, a JSON-t kell megadnia a bemeneti adatok formátumaként.

  7. Futtassa a producer-t, és streamelje az Event Hubs-be. Windows rendszerű gépen, amikor Node.js parancssort használ, először váltson abba a azure-event-hubs-for-kafka/quickstart/java/producer mappába, mielőtt futtatná ezeket a parancsokat.

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestProducer"                                    
    

Ellenőrizze, hogy az eseményközpont megkapja-e az adatokat

  1. Válassza az Event Hubs lehetőséget azENTITÁSOK területen. Ellenőrizze, hogy megjelenik-e egy teszt nevű eseményközpont.

    Event Hub – teszt

  2. Győződjön meg arról, hogy üzenetek érkeznek az eseményközpontba.

    Event Hub – üzenetek

Eseményadatok feldolgozása Stream Analytics-feladattal

Ebben a szakaszban egy Azure Stream Analytics-feladatot hoz létre. A Kafka-ügyfél eseményeket küld az eseményközpontba. Létrehozhat egy Stream Analytics-feladatot, amely bemenetként veszi fel az eseményadatokat, és egy Azure Blob Storage-ba nyitja ki azokat. Ha nem rendelkezik Azure Storage-fiókkal, hozzon létre egyet.

A Stream Analytics-feladat lekérdezése elemzés nélkül halad át az adatokon. Létrehozhat egy lekérdezést, amely átalakítja a bemeneti adatokat, hogy a kimeneti adatokat más formátumban vagy a szerzett megállapításokkal hozza létre.

Stream Analytics-feladat létrehozása

  1. Válassza a + Erőforrás létrehozása lehetőséget az Azure Portalon.
  2. Válassza az Elemzés lehetőséget az Azure Marketplace menüjében, majd válassza a Stream Analytics-feladatot.
  3. Az Új Stream Analytics lapon hajtsa végre a következő műveleteket:
    1. Adja meg a feladat nevét .

    2. Válassza ki előfizetését.

    3. Válassza a Create new for the resource group ( Új létrehozása az erőforráscsoporthoz ) lehetőséget, és adja meg a nevet. Egy meglévő erőforráscsoportot is használhat .

    4. Válassza ki a feladat helyét .

    5. A feladat létrehozásához válassza a Létrehozás lehetőséget.

      Új Stream Analytics feladat

Feladatbemenet konfigurálása

  1. Az értesítési üzenetben válassza az Erőforrás megnyitása lehetőséget a Stream Analytics-feladatlap megtekintéséhez.

  2. A bal oldali menü JOB TOPOLOGY szakaszában válassza a Bemenetek lehetőséget.

  3. Válassza a Streambemenet hozzáadása lehetőséget, majd az Event Hub-ot.

    Eseményközpont hozzáadása bemenetként

  4. Az Event Hub bemeneti konfigurációs lapján hajtsa végre a következő műveleteket:

    1. Adja meg a bemenet aliasát .

    2. Válassza ki az Azure-előfizetését.

    3. Válassza ki a korábban létrehozott eseményközpont-névteret .

    4. Válassza ki a teszt lehetőséget az eseményközpont számára.

    5. Válassza az Mentésgombot.

      Eseményközpont bemeneti konfigurációja

Feladatkimenet konfigurálása

  1. Válassza a Kimenetek lehetőséget a menü JOB TOPOLOGY szakaszában.
  2. Válassza a + Hozzáadás lehetőséget az eszköztáron, és válassza a Blob Storage lehetőséget
  3. A Blob Storage kimeneti beállításainak lapján hajtsa végre a következő műveleteket:
    1. Adja meg a kimenet aliasát .

    2. Válassza ki az Azure-előfizetését.

    3. Válassza ki az Azure Storage-fiókját.

    4. Adja meg annak a tárolónak a nevét , amely a Stream Analytics-lekérdezésből tárolja a kimeneti adatokat.

    5. Válassza az Mentésgombot.

      Blob Storage kimeneti konfigurációja

Lekérdezés definiálása

Miután beállított egy Stream Analytics-feladatot a bejövő adatfolyamok olvasásához, a következő lépés egy olyan átalakítás létrehozása, amely valós időben elemzi az adatokat. Az átalakítási lekérdezést a Stream Analytics lekérdezési nyelvével határozhatja meg. Ebben az útmutatóban egy olyan lekérdezést határoz meg, amely átalakítás nélkül halad át az adatokon.

  1. Válassza a lekérdezést.

  2. A lekérdezési ablakban cserélje le [YourOutputAlias] a korábban létrehozott kimeneti aliast.

  3. Cserélje le [YourInputAlias] a korábban létrehozott bemeneti aliasra.

  4. Válassza az eszköztár Save (Mentés) elemét.

    A képernyőrögzítés megjeleníti a lekérdezési ablakot a bemeneti és kimeneti változók értékeivel.

Stream Analytics-feladat futtatása

  1. Válassza az Áttekintés lehetőséget a bal oldali menüben.

  2. Válassza az Indítás lehetőséget.

    Start menü

  3. A Feladat indítása lapon válassza a Start lehetőséget.

    Feladat indítása lap

  4. Várja meg, amíg a feladat állapota a kezdésrőla futtatásra változik.

    Feladat állapota – futtatás

A forgatókönyv tesztelése

  1. Futtassa újra a Kafka-producert, hogy eseményeket küldjön az eseményközpontnak.

    mvn exec:java -Dexec.mainClass="TestProducer"                                    
    
  2. Ellenőrizze, hogy a kimeneti adatok létrejönnek-e az Azure Blob Storage-ban. Megjelenik egy JSON-fájl a tárolóban 100 sorból, amelyek a következő mintasorhoz hasonlóan néznek ki:

    {"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"}
    

    Az Azure Stream Analytics-feladat bemeneti adatokat kapott az eseményközponttól, és ebben a forgatókönyvben az Azure Blob Storage-ban tárolta őket.

Következő lépések

Ebben a cikkben megtanulta, hogyan streamelhet az Event Hubsba anélkül, hogy módosítaná a protokollklienseket vagy saját fürtöket futtatna. Az Apache Kafkához készült Event Hubsról további információt az Azure Event Hubshoz készült Apache Kafka fejlesztői útmutatójában talál.