Mulai cepat: Mengalirkan data dengan Azure Event Hubs dan Apache Kafka
Mulai cepat ini menunjukkan kepada Anda cara mengalirkan data ke dan dari Azure Event Hubs menggunakan protokol Apache Kafka. Anda tidak akan mengubah kode apa pun dalam sampel aplikasi produsen atau konsumen Kafka. Anda hanya memperbarui konfigurasi yang digunakan klien untuk menunjuk ke namespace Layanan Pusat Aktivitas, yang mengekspos titik akhir Kafka. Anda juga tidak membangun dan menggunakan kluster Kafka sendiri. Sebagai gantinya, Anda menggunakan namespace Layanan Pusat Aktivitas dengan titik akhir Kafka.
Catatan
Sampel ini tersedia di GitHub
Prasyarat
Untuk menyelesaikan mulai cepat ini, pastikan prasyarat berikut dipenuhi:
- Baca artikel Azure Event Hubs untuk Apache Kafka.
- Langganan Azure. Jika Anda tidak memilikinya, buat akun gratis sebelum memulai.
- Buat komputer virtual Windows dan instal komponen berikut:
- Kit Pengembangan Java (JDK) 1.7+.
- Unduh dan pasang arsip biner Maven.
- Git
Membuat namespace Azure Event Hubs
Saat Anda membuat namespace layanan Azure Event Hubs, titik akhir Kafka untuk namespace diaktifkan secara otomatis. Anda dapat melakukan stream peristiwa dari aplikasi Anda yang menggunakan protokol Kafka ke dalam event hubs. Ikuti instruksi langkah demi langkah di Buat event hub menggunakan portal Microsoft Azure untuk membuat namespace Azure Event Hubs. Jika Anda menggunakan kluster khusus, lihat Membuat namespace layanan dan pusat aktivitas di kluster khusus.
Catatan
Azure Event Hubs untuk Kafka tidak didukung di tingkat dasar.
Mengirim dan menerima pesan dengan Kafka di Azure Event Hubs
Aktifkan identitas terkelola yang ditetapkan sistem untuk komputer virtual. Untuk informasi selengkapnya tentang mengonfigurasi identitas terkelola pada VM, lihat Mengonfigurasi identitas terkelola untuk sumber daya Azure pada VM menggunakan portal Azure. Identitas terkelola untuk sumber daya Azure memberikan layanan Azure identitas terkelola otomatis di Microsoft Entra ID. Anda dapat menggunakan identitas ini untuk mengautentikasi tiap layanan yang mendukung autentikasi Microsoft Entra, tanpa memiliki kredensial dalam kode Anda.
Menggunakan halaman Kontrol akses namespace layanan Pusat Aktivitas yang Anda buat, tetapkan peran Pemilik Data Azure Event Hubs ke identitas terkelola VM. Azure Event Hubs mendukung penggunaan ID Microsoft Entra untuk mengotorisasi permintaan ke sumber daya Azure Event Hubs. Dengan MICROSOFT Entra ID, Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memberikan izin kepada prinsip keamanan, yang mungkin merupakan pengguna, atau perwakilan layanan aplikasi.
Di portal Microsoft Azure, arahkan ke namespace layanan Azure Event Hubs. Buka "Access Control (IAM)" di navigasi kiri.
Pilih + Tambahkan dan pilih
Add role assignment
.Di tab Peran, pilih Pemilik Data Azure Event Hubs, dan pilih tombol Berikutnya .
Di tab Anggota , pilih Identitas Terkelola di bagian Tetapkan akses ke .
Pilih tautan +Pilih anggota .
Pada halaman Pilih identitas terkelola , ikuti langkah-langkah berikut:
Pilih langganan Azure yang memiliki VM.
Untuk Identitas terkelola, pilih Komputer virtual
Pilih identitas terkelola komputer virtual Anda.
Pilih Pilih di bagian bawah halaman.
Pilih Tinjau + Tetapkan.
Mulai ulang VM dan masuk kembali ke VM tempat Anda mengonfigurasi identitas terkelola.
Buka
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer
.Beralih ke
src/main/resources/
folder, dan bukaconsumer.config
. Gantinamespacename
dengan nama namespace Layanan Pusat Aktivitas Anda.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;
Catatan
Anda dapat menemukan semua sampel OAuth untuk Azure Event Hubs untuk Kafka di sini.
Beralih kembali ke folder Konsumen tempat file pom.xml berada dan, dan jalankan kode konsumen dan proses peristiwa dari pusat aktivitas menggunakan klien Kafka Anda:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Luncurkan jendela prompt perintah lain, dan navigasikan ke
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer
.Beralih ke
src/main/resources/
folder, dan bukaproducer.config
. Gantimynamespace
dengan nama namespace Layanan Pusat Aktivitas Anda.Beralih kembali ke folder Produser tempat
pom.xml
file berada dan, jalankan kode produsen dan streaming peristiwa ke Azure Event Hubs:mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
Anda akan melihat pesan tentang peristiwa yang dikirim di jendela produser. Sekarang, periksa jendela aplikasi konsumen untuk melihat pesan yang diterimanya dari pusat aktivitas.
Validasi skema untuk Kafka dengan Schema Registry
Anda dapat menggunakan Azure Schema Registry untuk melakukan validasi skema saat melakukan streaming data dengan aplikasi Kafka menggunakan Azure Event Hubs. Azure Schema Registry of Event Hubs menyediakan repositori terpusat untuk mengelola skema dan Anda dapat menghubungkan aplikasi Kafka baru atau yang sudah ada dengan Schema Registry dengan lancar.
Untuk mempelajari lebih lanjut, lihat Memvalidasi skema untuk aplikasi Apache Kafka menggunakan Avro.
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara melakukan streaming ke Azure Event Hubs tanpa mengubah klien protokol atau menjalankan kluster Anda sendiri. Untuk mempelajari lebih lanjut, lihat Panduan pengembang Apache Kafka untuk Azure Event Hubs.