Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Schema Registry, Azure Event Hubs tarafından barındırılan, şema depolama, sürüm oluşturma ve yönetim sağlayan bir şema deposu hizmetidir. Bu paket, Avro serileştirilmiş verileri içeren yükleri seri hale getirebilen ve seri durumdan çıkarabilen bir Avro seri hale getirici sağlar.
Önemli bağlantılar:
Başlarken
Önkoşullar
@azure/schema-registry-avro paketini yükleyin
ile npmJavaScript için Azure Metin Analizi istemci kitaplığını yükleyin:
npm install @azure/schema-registry-avro
Önemli kavramlar
AvroSerializer
Şema kimliğini içeren içerik türü alanına sahip bir iletide sarmalanan Avro İkili Kodlama'ya seri hale getirmek ve bu kodlamadan seri durumdan çıkarma api'si sağlar. Şema tanımından şema kimliklerini almak için @azure/schema-registry paketinden (veya tam tersi) kullanırSchemaRegistryClient. Mümkün olduğunda şema kayıt defteri hizmetinin çağrılmasını önlemek için sağlanan API'nin iç önbelleği vardır.
İletiler
Varsayılan olarak, seri hale getirici aşağıdaki gibi yapılandırılmış iletiler oluşturur:
data: Avro İkili Kodlaması'ndaki verileri içeren bir bayt dizisi. Bunun Avro Nesne Kapsayıcı Dosyası DEĞİlDR. İkincisi şemayı içerir ve oluşturmak, şemayı ileti yükünün dışına ve şema kayıt defterine taşımak için bu seri hale getiriciyi kullanma amacını alt eder.contentType: bölümün bu iletinin Avro serileştirilmiş yükü olduğunu gösterdiği ve<Schema Id>bölümün bu yükü seri hale getirmek için kullanılan şemaya atanan Şema Kayıt Defteri hizmetinin Şema Kimliği olduğu aşağıdaki biçimdeavro/binary+<Schema ID>avro/binarybir dize.
Tüm mesajlaşma hizmetleri aynı ileti yapısını desteklemez. Bu tür hizmetlerle tümleştirmeyi etkinleştirmek için seri hale getirici, oluşturucuda ilgili ileti üreticisi ve tüketici ile seçeneğini ayarlayarak messageAdapter özel ileti yapıları üzerinde işlem yapabilir. Azure mesajlaşma istemci kitaplıkları, ileti türleri için varsayılan bağdaştırıcıları dışarı aktarır.
Örnekler
Bir @azure/event-hubs'leri seri hale getirme ve seri durumdan çıkarma EventData
const { DefaultAzureCredential } = require("@azure/identity");
const { createEventDataAdapter } = require("@azure/event-hubs");
const { SchemaRegistryClient } = require("@azure/schema-registry");
const { AvroSerializer } = require("@azure/schema-registry-avro");
const client = new SchemaRegistryClient(
"<fully qualified namespace>",
new DefaultAzureCredential()
);
const serializer = new AvroSerializer(client, {
groupName: "<group>",
messageAdapter: createEventDataAdapter(),
});
// Example Avro schema
const schema = JSON.stringify({
type: "record",
name: "Rating",
namespace: "my.example",
fields: [{ name: "score", type: "int" }],
});
// Example value that matches the Avro schema above
const value = { score: 42 };
// Serialize value to a message
const message = await serializer.serialize(value, schema);
// Deserialize a message to value
const deserializedValue = await serializer.deserialize(message);
Sorun giderme
Avro seri hale getiricisi şemaları kaydetmek veya sorgulamak için şema kayıt defteri hizmetiyle gerektiği gibi iletişim kurar ve bu hizmet çağrıları bir RestError oluşturabilir. Ayrıca, serileştirme veya seri durumdan çıkarma başarısız olduğunda tür Error hataları oluşur. özelliği, cause Avro uygulama kitaplığından oluşturulmuş temel alınan hatayı içerir.
Günlüğe Kaydetme
Günlüğe kaydetmenin etkinleştirilmesi hatalarla ilgili yararlı bilgilerin ortaya çıkarılmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel@azure/loggeretkinleştirilebilir:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Sonraki adımlar
Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.
Katkıda bulunma
Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için bkz. https://cla.microsoft.com.
Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.
Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorularınız veya yorumlarınızla iletişime geçin opencode@microsoft.com .
Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.
İlgili projeler

Azure SDK for JavaScript