Hızlı Başlangıç: Azure Event Hubs ve Apache Kafka ile veri akışı
Bu hızlı başlangıçta Apache Kafka protokolunu kullanarak Azure Event Hubs'a ve Azure Event Hubs'dan veri akışı yapmayı öğreneceksiniz. Örnek Kafka üretici veya tüketici uygulamalarında hiçbir kodu değiştirmezsiniz. İstemcilerin kafka uç noktasını kullanıma sunan bir Event Hubs ad alanına işaret etmek için kullandığı yapılandırmaları güncelleştirmeniz gerekir. Ayrıca kafka kümesini kendi başınıza oluşturup kullanmazsınız. Bunun yerine Event Hubs ad alanını Kafka uç noktasıyla kullanırsınız.
Not
Bu örnek GitHub'da sağlanır
Önkoşullar
Bu hızlı başlangıcı tamamlamak için aşağıdaki önkoşulların karşılandığından emin olun:
- Apache Kafka için Event Hubs makalesini okuyun.
- Azure aboneliği. Aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Bir Windows sanal makinesi oluşturun ve aşağıdaki bileşenleri yükleyin:
- Java Development Kit (JDK) 1.7+.
- Bir Maven ikili arşivini indirin ve yükleyin.
- Git
Azure Event Hubs ad alanı oluşturma
Bir Event Hubs ad alanı oluşturduğunuzda, ad alanının Kafka uç noktası otomatik olarak etkinleştirilir. Kafka protokollerini kullanan uygulamalarınızdan olay hub'larına olay akışı yapabilirsiniz. Event Hubs ad alanı oluşturmak için Azure portalını kullanarak olay hub'ı oluşturma başlığındaki adım adım yönergeleri izleyin. Ayrılmış küme kullanıyorsanız bkz . Ayrılmış bir kümede ad alanı ve olay hub'ı oluşturma.
Not
Kafka için Event Hubs temel katmanda desteklenmez.
Event Hubs’da Kafka ile ileti gönderme ve alma
Sanal makine için sistem tarafından atanan yönetilen kimliği etkinleştirin. Bir VM'de yönetilen kimliği yapılandırma hakkında daha fazla bilgi için bkz . Azure portalını kullanarak VM'de Azure kaynakları için yönetilen kimlikleri yapılandırma. Azure kaynakları için yönetilen kimlikler, Azure hizmetlerine Microsoft Entra ID üzerinde otomatik olarak yönetilen bir kimlik sağlar. Bu kimliği kullanarak, Microsoft Entra kimlik doğrulamasını destekleyen tüm hizmetlerde kodunuzda kimlik bilgileri bulunmasına gerek kalmadan kimlik doğrulaması yapabilirsiniz.
Oluşturduğunuz Event Hubs ad alanının Erişim denetim sayfasını kullanarak VM'nin yönetilen kimliğine Azure Event Hubs Veri Sahibi rolü atayın. Azure Event Hubs, Event Hubs kaynaklarına yönelik istekleri yetkilendirmek için Microsoft Entra Id kullanılmasını destekler. Microsoft Entra Id ile Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak bir kullanıcı veya uygulama hizmet sorumlusu olabilecek bir güvenlik sorumlusuna izin vekleyebilirsiniz.
Azure portalında Event Hubs ad alanınıza gidin. Sol gezinti bölmesinde "Erişim Denetimi (IAM)" bölümüne gidin.
+ Ekle'yi ve ardından öğesini seçin
Add role assignment
.Rol sekmesinde Azure Event Hubs Veri Sahibi'ni ve ardından İleri düğmesini seçin.
Üyeler sekmesinde, Erişim ata bölümünde Yönetilen Kimlik'i seçin.
+Üyeleri seç bağlantısını seçin.
Yönetilen kimlikleri seçin sayfasında şu adımları izleyin:
VM'yi içeren Azure aboneliğini seçin.
Yönetilen kimlik için Sanal makine'yi seçin
Sanal makinenizin yönetilen kimliğini seçin.
Sayfanın alt kısmındaki Seç'i seçin.
Gözden geçir + Ata'yı seçin.
VM'yi yeniden başlatın ve yönetilen kimliği yapılandırdığınız VM'de yeniden oturum açın.
Kafka için Azure Event Hubs deposunu kopyalayın.
Şuraya gidin:
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer
klasörüne
src/main/resources/
geçin ve dosyasını açınconsumer.config
. değerini Event Hubs ad alanınızın adıyla değiştirinnamespacename
.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;
Not
Kafka için Event Hubs'a yönelik tüm OAuth örneklerini burada bulabilirsiniz.
pom.xml dosyasının bulunduğu Tüketici klasörüne dönün ve Kafka istemcilerinizi kullanarak olay hub'ından tüketici kodunu çalıştırın ve olayları işleyin:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Başka bir komut istemi penceresi başlatın ve adresine
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer
gidin.klasörüne
src/main/resources/
geçin ve dosyasını açınproducer.config
. değerini Event Hubs ad alanınızın adıyla değiştirinmynamespace
.Dosyanın bulunduğu
pom.xml
Producer klasörüne dönün ve üretici kodunu çalıştırın ve olayları Event Hubs'a akışla aktarın:mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
Üretici penceresinde gönderilen olaylar hakkındaki iletileri görmeniz gerekir. Şimdi, olay hub'ından aldığı iletileri görmek için tüketici uygulaması penceresini denetleyin.
Şema Kayıt Defteri ile Kafka için şema doğrulaması
Event Hubs kullanarak Kafka uygulamalarınızla veri akışı yaparken şema doğrulaması gerçekleştirmek için Azure Schema Registry'yi kullanabilirsiniz. Event Hubs Azure Schema Registry, şemaları yönetmek için merkezi bir depo sağlar ve yeni veya mevcut Kafka uygulamalarınızı Schema Registry ile sorunsuz bir şekilde bağlayabilirsiniz.
Daha fazla bilgi edinmek için bkz . Avro kullanarak Apache Kafka uygulamaları için şemaları doğrulama.
Sonraki adımlar
Bu makalede, protokol istemcilerinizi değiştirmeden veya kendi kümelerinizi çalıştırmadan Event Hubs'a akış yapmayı öğrendiniz. Daha fazla bilgi edinmek için bkz . Azure Event Hubs için Apache Kafka geliştirici kılavuzu.