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.
Ş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:
- Kafka ve Avro ile şema kayıt defterini kullanma
- Schema kayıt defterini Event Hubs .NET SDK (AMQP) ve Avro ile kullanma.
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.
- .NET - Microsoft.Azure.Data.SchemaRegistry.ApacheAvro
- Java - azure-data-schemaregistry-avro
- Python - azure-schemaregistry-avroserializer
- JavaScript - @azure/schema-registry-avro
- Apache Kafka - Azure Schema Registry tarafından yedeklenen Kafka ile tümleşik Apache Avro serileştiricilerini ve seri durumdan çıkarıcıları çalıştırın. Java istemcisinin Azure Schema Registry için Apache Kafka istemci seri hale getiricisi, herhangi bir Apache Kafka senaryosunda ve apache Kafka® tabanlı dağıtım veya bulut hizmetinde kullanılabilir.
- Azure CLI - CLI kullanarak bir şema grubuna şema ekleme örneği için bkz . CLI kullanarak şema grubuna şema ekleme.
- PowerShell - PowerShell kullanarak bir şema grubuna şema ekleme örneği için bkz . PowerShell kullanarak şema grubuna şema ekleme.
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:
- Uygulamanızı Microsoft Entra Id'ye kaydetme
- 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
- Azure portalını kullanarak şema kayıt defteri oluşturmayı öğrenmek için bkz . Azure portalını kullanarak Event Hubs şema kayıt defteri oluşturma.
- Aşağıdaki Şema Kayıt Defteri Avro istemci kitaplığı örneklerine bakın.