Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Schema Registry az 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 Json szerializálót biztosít, amely képes szerializálni és deszerializálni a Json-szerializált adatokat tartalmazó hasznos adatokat.
Főbb hivatkozások:
Kezdetekhez
- Node.js LTS-verziói
Előfeltételek
- Egy Azure-előfizetés
- Meglévő sémaregisztrációs erőforrás
A @azure/schema-registry-json csomag telepítése
Telepítse a JavaScripthez készült Azure Text Analytics ügyfélkódtárat a npm:
npm install @azure/schema-registry-json
Főbb fogalmak
JsonSchemaSerializer
Api-t biztosít a JSON-ba való szerializáláshoz és deszerializálásához egy üzenetbe burkolva, a sémaazonosítót tartalmazó tartalomtípus-mezővel. A @azure/sémaregisztrációs csomag SchemaRegistryClient használ sémaazonosítók lekéréséhez a sémadefinícióból 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: JSON-adatokat tartalmazó bájttömb.contentType: az alábbi formátumú sztringapplication/json+<Schema ID>, ahol aapplication/jsonrész azt jelzi, hogy az üzenet Json-szerializált hasznos adattal rendelkezik, a<Schema Id>része pedig az a sémaregisztrációs szolgáltatás sémaazonosítója, amely a hasznos adat szerializálásához használt sémához van hozzárendelve.
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 is képes, ha a konstruktorban beállítja a messageAdapter lehetőséget egy megfelelő üzenetkészítővel és -fogyasztóval. Az Azure üzenetkezelési ügyfélkódtárai alapértelmezett adaptereket exportálnak az üzenettípusaikhoz.
Példák
Szerializálja és deszerializálja a @azure/event-hubsEventData
const { DefaultAzureCredential } = require("@azure/identity");
const { createEventDataAdapter } = require("@azure/event-hubs");
const { SchemaRegistryClient } = require("@azure/schema-registry");
const { JsonSchemaSerializer } = require("@azure/schema-registry-json");
async function main(){
const client = new SchemaRegistryClient(
"<fully qualified namespace>",
new DefaultAzureCredential()
);
const serializer = new JsonSchemaSerializer(client, {
groupName: "<group>",
messageAdapter: createEventDataAdapter(),
});
// Example Json schema
const schema = JSON.stringify({
$schema: "http://json-schema.org/draft-04/schema#",
$id: "person",
title: "Student",
description: "A student in the class",
type: "object",
properties: {
name: {
type: "string",
description: "The name of the student",
},
},
required: ["name"]
});
// Example value that matches the Json schema above
const value = { name: "Bob" };
// Serialize value to a message
const message = await serializer.serialize(value, schema);
// Deserialize a message to value
const deserializedValue = await serializer.deserialize(message);
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
A szerializáló nem ellenőrzi, hogy a deszerializált érték megegyezik-e a sémával, de lehetővé teszi az ilyen ellenőrzés implementálását. Az alkalmazás átadhat egy érvényesítési visszahívási függvényt az egyik lehetőségként a deszerializálási módszernek, ahol a sémaérvényesítés implementálható.
Az ellenőrzés implementálásának módjáról a schemaRegistryJsonWithValidation mintában tájékozódhat.
Hibaelhárítás
A Json szerializáló a sémák regisztrálásához vagy lekérdezéséhez szükséges módon kommunikál a sémaregisztrációs szolgáltatással, és ezek a szolgáltatáshívások RestError-eredményezhetnek. A szerializálás vagy a deszerializálás sikertelensége esetén Error típusú hibák is megjelennek. A cause tulajdonság tartalmazza a JSON-elemzőből származó mögöttes hibát.
Fakitermelé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 AZURE_LOG_LEVEL környezeti változót info. Másik lehetőségként a naplózás futásidőben is engedélyezhető a setLogLevel meghívásával a @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 mintákat könyvtárat.
Hozzájárulás
Ez a projekt üdvözli a hozzájárulásokat és javaslatokat. A legtöbb hozzájárulás megköveteli, hogy elfogadja a közreműködői licencszerződést (CLA), amely kimondja, hogy önnek joga van a hozzájárulás használatára, és valóban meg kell adnia nekünk a jogosultságokat a hozzájárulás használatára. A részletekért látogasson el https://cla.microsoft.com.
A lekéréses kérelem elküldésekor a CLA-robot automatikusan meghatározza, hogy meg kell-e adnia egy CLA-t, és megfelelően kell-e díszítenie a lekéréses kérelmet (például címkét, megjegyzést). Egyszerűen kövesse a robot utasításait. Ezt csak egyszer kell elvégeznie az összes adattárban a CLA használatával.
Ez a projekt elfogadta a Microsoft nyílt forráskódú magatartási kódexének . További információkért lásd a magatartási kódexével kapcsolatos gyakori kérdéseket, vagy további kérdésekkel vagy megjegyzésekkel forduljon opencode@microsoft.com.
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.
Kapcsolódó projektek
Azure SDK for JavaScript