Megosztás a következőn keresztül:


Azure Schema Registry Avro Szerializáló ügyfélkódtár JavaScripthez – 1.1.0-s verzió

Az Azure Schema Registry egy Azure Event Hubs által üzemeltetett sémaadattár-szolgáltatás, amely sématárolást, verziószámozást és felügyeletet biztosít. Ez a csomag egy Avro szerializálót biztosít, amely képes szerializálni és deszerializálni az Avro-szerializált adatokat tartalmazó hasznos adatokat.

Fő hivatkozások:

Első lépések

Előfeltételek

Telepítse a(z) @azure/schema-registry-avro csomagot

Telepítse a JavaScripthez készült Azure Text Analytics ügyfélkódtárat a következővelnpm:

npm install @azure/schema-registry-avro

Fő fogalmak

AvroSerializer

API-t biztosít a sémaazonosítót tartalmazó tartalomtípus-mezővel ellátott üzenetbe csomagolt Avro bináris kódolásba való szerializáláshoz és deszerializáláshoz. A @azure/schema-registry csomagból használja SchemaRegistryClient a sémaazonosítók sémadefinícióból való lekéréséhez, vagy fordítva. A megadott API belső gyorsítótárral rendelkezik, hogy lehetőség szerint ne hívja meg a sémaregisztrációs szolgáltatást.

Üzenetek

Alapértelmezés szerint a szerializáló a következőképpen strukturált üzeneteket hoz létre:

  • data: az Avro bináris kódolásban adatokat tartalmazó bájttömb. Vegye figyelembe, hogy ez NEM Avro objektumtároló fájl. Ez utóbbi magában foglalja a sémát, és a létrehozása nem teszi lehetővé, hogy ezzel a szerializálóval áthelyezze a sémát az üzenet hasznos adataiból és a sémaregisztrációs adatbázisba.

  • contentType: a következő formátumú avro/binary+<Schema ID> sztring, amelyben a avro/binary rész azt jelzi, hogy az üzenet Avro-szerializált hasznos adattal rendelkezik, a <Schema Id> rész pedig az a sémaazonosító, amelyet a sémaregisztrációs szolgáltatás a hasznos adat szerializálásához használt sémához rendelt.

Nem minden üzenetkezelési szolgáltatás támogatja ugyanazt az üzenetstruktúrát. Az ilyen szolgáltatásokkal való integráció engedélyezéséhez a szerializáló az egyéni üzenetstruktúrákra reagálhat, ha beállítja a messageAdapter konstruktorban található lehetőséget egy megfelelő üzenetgyártóval és -fogyasztóval. Az Azure-üzenetkezelési ügyfélkódtárak az üzenettípusok alapértelmezett adaptereit exportálják.

Példák

Szerializálja és deszerializálja az @azure/event-hubs's-t 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);

Hibaelhárítás

Az Avro szerializáló a sémaregisztrációs szolgáltatással kommunikál a sémák regisztrálásához vagy lekérdezéséhez, és ezek a szolgáltatáshívások restErrort okozhatnak. Emellett a szerializálás vagy a deszerializálás meghiúsulásakor típushibák Error is megjelennek. A cause tulajdonság tartalmazza az Avro implementációs kódtárából származó mögöttes hibát.

Naplózás

A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a környezeti változót a AZURE_LOG_LEVEL értékre info. A naplózás futásidőben is engedélyezhető a következő hívással setLogLevel@azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Következő lépések

A kódtár használatára vonatkozó részletes példákért tekintse meg a mintakönyvtárat.

Közreműködés

A projektben szívesen fogadjuk a hozzájárulásokat és a javaslatokat. A legtöbb hozzájáruláshoz el kell fogadnia egy Közreműködői licencszerződést (CLA-t), amelyben kijelenti, hogy jogosult arra, hogy ránk ruházza hozzájárulása felhasználási jogát, és ezt ténylegesen meg is teszi. További részletekért lásd: https://cla.microsoft.com.

A lekéréses kérelmek elküldésekor egy CLA-robot automatikusan meghatározza, hogy kell-e biztosítania CLA-t, és megfelelően kitölti a lekéréses kérelmet (például címke, megjegyzés). Egyszerűen csak kövesse a robot által megadott utasításokat. Ezt csak egyszer kell elvégeznie az összes olyan tárházban, amely a CLA-t használja.

A projekt a Microsoft nyílt forráskódú projekteket szabályozó etikai kódexe, a Microsoft Open Source Code of Conduct hatálya alá esik. További információkért lásd a viselkedési szabályzattal kapcsolatos gyakori kérdéseket , vagy vegye fel a kapcsolatot opencode@microsoft.com az esetleges további kérdésekkel vagy megjegyzésekkel.

Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót , amelyből többet is megtudhat a kód összeállításáról és teszteléséről.

Megjelenések