Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Schema Registry adalah layanan repositori skema yang dihosting oleh Azure Event Hubs, menyediakan penyimpanan skema, penerapan versi, dan manajemen. Paket ini menyediakan serializer Avro yang mampu menserialisasikan dan mendeserialisasi payload yang berisi data serial Avro.
Tautan utama:
Memulai
Prasyarat
- Langganan Azure
- Sumber daya Registri Skema yang ada
Pasang paket @azure/schema-registry-avro
Instal pustaka klien Azure Text Analytics untuk JavaScript dengan npm:
npm install @azure/schema-registry-avro
Konsep utama
AvroSerializer
Menyediakan API untuk menserialisasikan dan mendeserialisasi dari Pengodean Biner Avro yang dibungkus dalam pesan dengan bidang jenis konten yang berisi ID skema. SchemaRegistryClient Menggunakan dari paket @azure/schema-registry untuk mendapatkan ID skema dari definisi skema atau sebaliknya. API yang disediakan memiliki cache internal untuk menghindari panggilan layanan registri skema jika memungkinkan.
Pesan
Secara default, serializer akan membuat pesan yang terstruktur sebagai berikut:
data: array byte yang berisi data dalam Pengodean Biner Avro. Perhatikan bahwa ini BUKAN File Kontainer Objek Avro. Yang terakhir mencakup skema dan membuatnya mengalahkan tujuan menggunakan serializer ini untuk memindahkan skema keluar dari payload pesan dan ke registri skema.contentType: string formatavro/binary+<Schema ID>berikut di manaavro/binarybagian menandakan bahwa pesan ini memiliki payload berseri Avro dan<Schema Id>bagiannya adalah ID Skema layanan Registri Skema yang ditetapkan ke skema yang digunakan untuk membuat serial payload ini.
Tidak semua layanan olahpesan mendukung struktur pesan yang sama. Untuk mengaktifkan integrasi dengan layanan tersebut, serializer dapat bertindak pada struktur pesan kustom dengan mengatur messageAdapter opsi di konstruktor dengan produsen dan konsumen pesan yang sesuai. Pustaka klien olahpesan Azure mengekspor adaptor default untuk jenis pesan mereka.
Contoh
Menserialisasikan dan mendeserialisasi @azure/event-hubsEventData
const { DefaultAzureCredential } = require("@azure/identity");
import { createEventDataAdapter } from "@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);
Pemecahan Masalah
Serializer Avro berkomunikasi dengan layanan Schema Registry sesuai kebutuhan untuk mendaftarkan atau mengkueri skema dan panggilan layanan tersebut dapat melempar RestError. Selain itu, kesalahan jenis Error akan dilemparkan ketika serialisasi atau deserialisasi gagal. Properti cause akan berisi kesalahan mendasar yang dilemparkan dari pustaka implementasi Avro.
Pencatatan
Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Langkah berikutnya
Silakan lihat direktori sampel untuk contoh terperinci tentang cara menggunakan pustaka ini.
Berkontribusi
Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.microsoft.com.
Ketika Anda mengirimkan permintaan tarik, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repos menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Tata Tertib atau hubungi opencode@microsoft.com untuk pertanyaan atau komentar lainnya.
Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.
Proyek terkait
