Azure Event Hubs'da Şema Kayıt Defteri

Azure Event Hubs'daki Schema Registry, şema temelli olay akışı senaryolarında şemaları kullanmak ve yönetmek için size bir depo sağlar.

Şema Kayıt Defteri bileşenleri

Event Hubs ad alanı, olay hub'ları (veya Kafka konuları) ile birlikte şema gruplarını barındırabilir. Bir şema kayıt defteri barındırıyor ve birden çok şema grubuna sahip olabilir. Azure Event Hubs'da barındırılmalarına rağmen, şema kayıt defteri tüm Azure mesajlaşma hizmetleri ve diğer ileti veya olay aracılarıyla evrensel olarak kullanılabilir. Bu şema gruplarının her biri, bir dizi şema için ayrı olarak güvenli hale getirilebilen bir depodur. Gruplar belirli bir uygulama veya kuruluş birimiyle hizalanabilir.

Diagram that shows the components of Schema Registry in Azure Event Hubs.

Şema grupları

Şema grubu, iş ölçütlerinize göre benzer şemaların mantıksal bir grubudur. Şema grubu, bir şemanın birden çok sürümünü barındırabilir. Şema grubundaki uyumluluk zorlama ayarı, daha yeni şema sürümlerinin geriye dönük olarak uyumlu olmasını sağlamaya yardımcı olabilir.

Gruplandırma mekanizması tarafından uygulanan güvenlik sınırı, ad alanının birden çok iş ortağı arasında paylaşıldığı durumlarda ticari gizli dizilerin yanlışlıkla meta veriler aracılığıyla sızmamasını sağlar. Ayrıca, uygulama sahiplerinin aynı ad alanını paylaşan diğer uygulamalardan bağımsız olarak şemaları yönetmesine de olanak tanır.

Şemalar

Şemalar, üreticiler ve tüketiciler arasındaki sözleşmeyi tanımlar. Event Hubs şema kayıt defterinde tanımlanan bir şema, sözleşmenin olay verilerinin dışında yönetilmesine yardımcı olur ve böylece yük yükünü kaldırır. Şemanın adı, türü (örnek: kayıt, dizi vb.), uyumluluk modu (yok, ileri, geri, tam) ve serileştirme türü (şimdilik yalnızca Avro) vardır. Bir şemanın birden çok sürümünü oluşturabilir ve şemanın belirli bir sürümünü alıp kullanabilirsiniz.

Şema biçimleri

Şema biçimleri, bir şemanın nasıl yapılandırıldığını ve tanımlandığını belirlemek için kullanılır ve her biçim, olay akışı için kullanılacak olayların yapısını tanımlamaya yönelik belirli yönergeleri ve söz dizimini ana hatlarıyla belirtir.

Avro şeması

Avro , kompakt ikili biçim kullanan ve şema evrimi özellikleri sağlayan popüler bir veri serileştirme sistemidir.

Event Hubs Schema Registry ile Avro şema biçimini kullanma hakkında daha fazla bilgi edinmek için bkz:

JSON Şeması (Önizleme)

JSON Şeması , olayların yapısını ve veri türlerini tanımlamanın standartlaştırılmış bir yoludur. JSON Şeması, olay akışında JSON veri biçiminin güvenli ve güvenilir bir şekilde kullanılmasını sağlar.

Event Hubs Schema Registry ile JSON şema biçimini kullanma hakkında daha fazla bilgi edinmek için bkz:

Şema evrimi

Şemaların üreticilerin ve tüketicilerin iş gereksinimleriyle birlikte gelişmesi gerekir. Azure Schema Registry, şema grubu düzeyinde uyumluluk modlarını kullanıma sunarak şema evrimini destekler. Bir şema grubu oluşturduğunuzda, bu şema grubuna eklediğiniz şemaların uyumluluk modunu belirtebilirsiniz. Bir şemayı güncelleştirdiğinizde, değişiklik atanan uyumluluk moduyla uyumlu olmalıdır ve ardından şemanın yalnızca yeni bir sürümünü oluşturur.

Dekont

Şema evrimi yalnızca Avro şema biçimi için desteklenir.

Event Hubs için Azure Schema Registry aşağıdaki uyumluluk modlarını destekler.

Geriye dönük uyumluluk

Geriye dönük uyumluluk modu, tüketici kodunun şemanın yeni bir sürümünü kullanmasına izin verir, ancak iletileri şemanın eski sürümüyle işleyebilir. Bir şema grubunda geriye dönük uyumluluk modunu kullandığınızda, şemada aşağıdaki değişikliklerin yapılmasına izin verir.

  • Alan silme.
  • İsteğe bağlı alanlar ekleyin.

İletme uyumluluğu

İleriye dönük uyumluluk, tüketici kodunun şemanın eski bir sürümünü kullanmasına izin verir, ancak yeni şemayla iletileri okuyabilir. İleriye dönük uyumluluk modu, şemada aşağıdaki değişikliklerin yapılmasına olanak tanır.

  • Alan ekle
  • İsteğe bağlı alanları silme

Uyumluluk yok

None Uyumluluk modu kullanıldığında, şemaları güncelleştirdiğinizde şema kayıt defteri herhangi bir uyumluluk denetimi yapmaz.

İstemci SDK'ları

Şema Kayıt Defteri şema tanımlayıcılarını ve Avro ile kodlanmış verileri içeren yükleri seri hale getirmek ve seri durumdan çıkarmak için kullanabileceğiniz bir Avro serileştiricisi eklemek için aşağıdaki kitaplıklardan birini kullanabilirsiniz.

Sınırlar

Event Hubs'ın sınırları (örneğin: ad alanındaki şema gruplarının sayısı) için bkz . Event Hubs kotaları ve sınırları.

Azure rol tabanlı erişim denetimi

Şema kayıt defterine program aracılığıyla erişmek için şu adımları izleyin:

  1. Uygulamanızı Microsoft Entra Id'ye kaydetme
  2. Uygulamanın güvenlik sorumlusunu ad alanı düzeyinde aşağıdaki Azure rol tabanlı erişim denetimi (Azure RBAC) rollerinden birine ekleyin.
Rol Açıklama
Sahip Şema Kayıt Defteri gruplarını ve şemalarını okuma, yazma ve silme.
Katılımcı Şema Kayıt Defteri gruplarını ve şemalarını okuma, yazma ve silme.
Şema Kayıt Defteri Okuyucusu Şema Kayıt Defteri gruplarını ve şemalarını okuyun ve listeleyin.
Şema Kayıt Defteri Katkıda Bulunanı Şema Kayıt Defteri gruplarını ve şemalarını okuma, yazma ve silme.

Azure portalını kullanarak uygulama kaydetme oluşturma yönergeleri için bkz . Microsoft Entra Id ile uygulama kaydetme. kodda kullanılacak istemci kimliğini (uygulama kimliği), kiracı kimliğini ve gizli diziyi not edin.

Sonraki adımlar