Registri Skema di Azure Event Hubs
Registri Skema di Azure Event Hubs memberi Anda repositori untuk menggunakan dan mengelola skema dalam skenario streaming peristiwa berbasis skema.
Komponen Registri Skema
Namespace Layanan Azure Event Hubs dapat menghosting grup skema bersama hub peristiwa (atau topik Kafka). Ini meng-host registri skema dan dapat memiliki beberapa kelompok skema. Meskipun dihosting di Azure Event Hubs, registri skema dapat digunakan secara universal dengan semua layanan pesan Azure dan broker pesan atau acara lainnya. Masing-masing kelompok skema ini adalah repositori yang dapat diamankan secara terpisah untuk satu set skema. Grup dapat diselaraskan dengan aplikasi tertentu atau unit organisasi.
Grup skema
Grup skema adalah kelompok logis skema serupa berdasarkan kriteria bisnis Anda. Grup skema dapat menyimpan beberapa versi skema. Pengaturan penerapan kompatibilitas pada grup skema dapat membantu memastikan bahwa versi skema yang lebih baru kompatibel dengan mundur.
Batas keamanan yang diberlakukan oleh mekanisme pengelompokan membantu memastikan bahwa rahasia dagang tidak secara tidak sengaja bocor melalui metadata dalam situasi di mana namespace dibagikan di antara beberapa mitra. Ini juga memungkinkan pemilik aplikasi untuk mengelola skema independen dari aplikasi lain yang memiliki namespace yang sama.
Skema
Skema mendefinisikan kontrak antara produsen dan konsumen. Skema yang ditentukan dalam registri skema Azure Event Hubs membantu mengelola kontrak di luar data peristiwa, sehingga menghapus kelebihan muatan. Skema memiliki nama, tipe (misalnya: rekam, array, dan sebagainya), mode kompatibilitas (tidak ada, maju, mundur, penuh), dan tipe serialisasi (hanya Avro untuk saat ini). Anda dapat membuat beberapa versi skema dan mengambil serta menggunakan versi skema tertentu.
Format skema
Format skema digunakan untuk menentukan cara di mana skema disusun dan didefinisikan, dengan setiap format menguraikan pedoman dan sintaks tertentu untuk menentukan struktur peristiwa yang akan digunakan untuk streaming peristiwa.
Skema Avro
Avro adalah sistem serialisasi data populer yang menggunakan format biner ringkas dan menyediakan kemampuan evolusi skema.
Untuk mempelajari selengkapnya tentang menggunakan format skema Avro dengan Azure Event Hubs Schema Registry, lihat:
- Cara menggunakan registri skema dengan Kafka dan Avro
- Cara menggunakan registri Skema dengan Event Hubs .NET SDK (AMQP) dan Avro.
Skema JSON (Pratinjau)
Skema JSON adalah cara standar untuk menentukan struktur dan jenis data peristiwa. Skema JSON memungkinkan penggunaan format data JSON yang percaya diri dan andal dalam streaming peristiwa.
Untuk mempelajari selengkapnya tentang menggunakan format skema JSON dengan Azure Event Hubs Schema Registry, lihat:
Evolusi skema
Skema perlu berkembang dengan persyaratan bisnis produsen dan konsumen. Azure Schema Registry mendukung evolusi skema dengan memperkenalkan mode kompatibilitas di tingkat grup skema. Saat membuat grup skema, Anda dapat menentukan mode kompatibilitas skema yang Anda sertakan dalam grup skema tersebut. Saat Anda memperbarui skema, perubahan harus sesuai dengan mode kompatibilitas yang ditetapkan dan hanya itu yang membuat versi skema baru.
Catatan
Evolusi skema hanya didukung untuk format skema Avro saja.
Azure Schema Registry untuk Azure Event Hubs mendukung mode kompatibilitas berikut.
Kompatibilitas mundur
Mode kompatibilitas mundur memungkinkan kode konsumen untuk menggunakan skema versi baru tetapi dapat memproses pesan dengan skema versi lama. Saat Anda menggunakan mode kompatibilitas mundur dalam grup skema, hal ini memungkinkan perubahan berikut dibuat pada skema.
- Hapus bidang.
- Tambahkan bidang opsional.
Meneruskan kompatibilitas
Meneruskan kompatibilitas memungkinkan kode konsumen untuk menggunakan skema versi lama tetapi dapat membaca pesan dengan skema baru. Mode meneruskan kompatibilitas memungkinkan perubahan berikut dibuat pada skema.
- Tambahkan bidang
- Hapus bidang opsional
Tidak ada kompatibilitas
Saat mode kompatibilitas None
digunakan, registri skema tidak akan memeriksa kompatibilitas apa pun saat Anda memperbarui skema.
SDK Klien
Anda dapat menggunakan salah satu pustaka berikut yang menyertakan serializer Avro, yang dapat Anda gunakan untuk menserialisasikan dan mendeserialisasi payload yang berisi pengidentifikasi skema Schema Registry dan data bersandi Avro.
- .NET - Microsoft.Azure.Data.SchemaRegistry.ApacheAvro
- Java - azure-data-schemaregistry-avro
- Python - azure-schemaregistry-avroserializer
- JavaScript - @azure/schema-registry-avro
- Apache Kafka - Jalankan serializer dan deserializer Apache Avro terintegrasi Kafka yang didukung oleh Azure Schema Registry. Serializer klien Apache Kafka klien Java untuk Azure Schema Registry dapat digunakan dalam skenario Apache Kafka dan dengan penyebaran atau layanan cloud berbasis Apache Kafka® apa pun.
- Azure CLI - Untuk contoh menambahkan skema ke grup skema menggunakan CLI, lihat Menambahkan skema ke grup skema menggunakan CLI.
- PowerShell - Untuk contoh menambahkan skema ke grup skema menggunakan PowerShell, lihat Menambahkan skema ke grup skema menggunakan PowerShell.
Batas
Untuk batasan (misalnya: jumlah grup skema di namespace layanan) Azure Event Hubs, lihat Kuota dan batas Azure Event Hubs.
Kontrol akses berbasis peran Azure
Untuk mengakses registri skema secara terprogram, ikuti langkah-langkah berikut:
- Mendaftarkan aplikasi Anda di ID Microsoft Entra
- Tambahkan prinsip keamanan aplikasi ke salah satu peran kontrol akses berbasis peran Azure (Azure RBAC) berikut di tingkat namespace layanan.
Peran | Deskripsi |
---|---|
Pemilik | Membaca, menulis, dan menghapus grup dan skema Schema Registry. |
Kontributor | Membaca, menulis, dan menghapus grup dan skema Schema Registry. |
Pembaca Schema Registry | Membaca dan membuat daftar grup dan skema Schema Registry. |
Kontributor Schema Registry | Membaca, menulis, dan menghapus grup dan skema Schema Registry. |
Untuk instruksi tentang membuat pendaftaran aplikasi menggunakan portal Azure, lihat Mendaftarkan aplikasi dengan ID Microsoft Entra. Catat ID klien (ID aplikasi), ID penyewa, dan rahasia yang akan digunakan dalam kode.
Langkah berikutnya
- Untuk mempelajari cara membuat registri skema menggunakan portal Microsoft Azure, lihat Membuat registri skema Azure Event Hubs menggunakan portal Microsoft Azure.
- Lihat contoh pustaka klien Schema Registry Avro berikut ini.