Rövid útmutató: Adatok streamelése az Azure Event Hubs és az Apache Kafka használatával
Ez a rövid útmutató bemutatja, hogyan streamelhet adatokat az Azure Event Hubsba és onnan az Apache Kafka protokoll használatával. A minta Kafka-gyártói vagy fogyasztói alkalmazásokban nem fog módosítani semmilyen kódot. Csak frissítenie kell a konfigurációkat, amelyekkel az ügyfelek egy Event Hubs-névtérre mutatnak, amely egy Kafka-végpontot tesz elérhetővé. A Kafka-fürtök önállóan sem építenek és nem használhatók. Ehelyett az Event Hubs-névteret használja a Kafka-végponttal.
Feljegyzés
Ez a minta elérhető a GitHubon.
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:
- Olvassa át az Apache Kafkához készült Event Hubsot ismertető cikket.
- Azure-előfizetés. Ha még nincs előfizetése, hozzon létre egy ingyenes fiókot, mielőtt hozzákezd.
- Hozzon létre egy Windows rendszerű virtuális gépet, és telepítse a következő összetevőket:
- Java fejlesztői készlet (JDK) 1.7+.
- Egy letöltött és telepített Maven bináris archívum.
- Git
Azure 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, olvassa el a Névtér és eseményközpont létrehozása dedikált fürtben című témakört.
Feljegyzés
A Kafkához készült Event Hubs nem támogatott az alapszinten .
Üzenetek küldése és fogadása a Kafkával az Event Hubsban
Engedélyezze a rendszer által hozzárendelt felügyelt identitást a virtuális gép számára. A felügyelt identitás virtuális gépen való konfigurálásáról további információt az Azure-erőforrások felügyelt identitásainak konfigurálása a virtuális gépen az Azure Portal használatával című témakörben talál. Az Azure-erőforrásokhoz tartozó kezelt identitások az Azure-szolgáltatásokat automatikusan kezelt identitással látják el a Microsoft Entra ID-ban. Ezt az identitást használhatja a Microsoft Entra hitelesítést támogató bármely szolgáltatáshoz történő hitelesítéshez anélkül, hogy a kódjában hitelesítő adatokkal rendelkezne.
A létrehozott Event Hubs-névtér hozzáférés-vezérlési lapján rendelje hozzá az Azure Event Hubs-adattulajdonosi szerepkört a virtuális gép felügyelt identitásához. Az Azure Event Hubs támogatja a Microsoft Entra ID használatát az Event Hubs-erőforrásokra irányuló kérések engedélyezéséhez. A Microsoft Entra ID-val azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy olyan biztonsági tagnak, amely lehet egy felhasználó vagy egy alkalmazásszolgáltatás-tag.
Az Azure Portalon lépjen az Event Hubs-névtérre. A bal oldali navigációs sávon lépjen a "Hozzáférés-vezérlés (IAM)" elemre.
Válassza a +Hozzáadás és a kijelölés
Add role assignment
lehetőséget.A Szerepkör lapon válassza az Azure Event Hubs-adattulajdonos lehetőséget, majd a Tovább gombot.
A Tagok lapon válassza ki a felügyelt identitást a Hozzáférés hozzárendelése szakaszban.
Válassza a +Tagok kijelölése hivatkozást.
A Felügyelt identitások kiválasztása lapon kövesse az alábbi lépéseket:
Válassza ki a virtuális gépet tartalmazó Azure-előfizetést .
Felügyelt identitás esetén válassza a Virtuális gép lehetőséget
Válassza ki a virtuális gép felügyelt identitását.
Válassza a Kijelölés lehetőséget a lap alján.
Válassza az Áttekintés + hozzárendelés fület.
Indítsa újra a virtuális gépet, és jelentkezzen be vissza arra a virtuális gépre, amelyhez a felügyelt identitást konfigurálta.
Klónozza a Kafkához készült Event Hubs-adattárat.
Nyissa meg a
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer
címet.Váltson a
src/main/resources/
mappára, és nyissa megconsumer.config
. Cserélje lenamespacename
az Event Hubs-névtér nevére.bootstrap.servers=NAMESPACENAME.servicebus.windows.net:9093 security.protocol=SASL_SSL sasl.mechanism=OAUTHBEARER sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required; sasl.login.callback.handler.class=CustomAuthenticateCallbackHandler;
Feljegyzés
A Kafkához készült Event Hubs összes OAuth-mintáját itt találja.
Váltson vissza arra a Fogyasztói mappára, ahol a pom.xml fájl található, és futtassa a fogyasztói kódot, és dolgozza fel az eseményeket az eseményközpontból a Kafka-ügyfelek használatával:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Nyisson meg egy másik parancssori ablakot, és lépjen a következőre
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer
: .Váltson a
src/main/resources/
mappára, és nyissa megproducer.config
. Cserélje lemynamespace
az Event Hubs-névtér nevére.Váltson vissza arra a Producer mappára, ahol a
pom.xml
fájl található, futtassa a produceri kódot, és streamelje az eseményeket az Event Hubsba:mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
A produceri ablakban küldött eseményekről szóló üzeneteknek kell megjelennie. Most ellenőrizze a fogyasztói alkalmazás ablakát az eseményközponttól kapott üzenetek megtekintéséhez.
Sémaérvényesítés a Kafkához sémaregisztrációs adatbázissal
Az Azure Schema Registry használatával sémaérvényesítést végezhet, amikor adatokat streamel a Kafka-alkalmazásokkal az Event Hubs használatával. Az Event Hubs Azure Schema Registryje központosított adattárat biztosít a sémák kezeléséhez, és zökkenőmentesen csatlakoztathatja az új vagy meglévő Kafka-alkalmazásokat a Sémaregisztrációs adatbázishoz.
További információ: Séma érvényesítése Apache Kafka-alkalmazásokhoz az Avro használatával.
Következő lépések
Ebben a cikkben megtanulta, hogyan streamelhet az Event Hubsba a protokoll-ügyfelek módosítása vagy saját fürtök futtatása nélkül. További információ: Apache Kafka fejlesztői útmutató az Azure Event Hubshoz.