Ein Pub/Sub-Schema ist ein optionales Feature, mit dem Sie das Format des Felds data in einer Pub/Sub-Nachricht erzwingen können.
Ein Schema erstellt einen Vertrag zwischen dem Publisher und dem Abonnenten über das Format der Nachrichten. Pub/Sub erzwingt dieses Format. Schemas erleichtern die teamübergreifende Nutzung von Datenströmen in Ihrer Organisation, indem sie eine zentrale Stelle für Nachrichtentypen und Berechtigungen schaffen. Ein Pub/Sub-Nachrichtenschema definiert die Namen und Datentypen für die Felder in einer Nachricht.
Sie können ein Schema erstellen und mit einem Thema verknüpfen, um das Schema für veröffentlichte Nachrichten zu erzwingen. Wenn eine bestimmte Nachricht nicht dem Schema entspricht, wird sie nicht veröffentlicht. Sie können auch zusätzliche Versionen eines Schemas erstellen.
Arten von Schemas
Sie können ein Schema in Pub/Sub mit einem der folgenden Frameworks erstellen:
Im folgenden Schema wird beispielsweise der Lagerbestand eines Lagers definiert, zuerst im Avro-Format und dann im Protocol Buffer-Format.
Apache Avro-Format
{
"type" : "record",
"name" : "Avro",
"fields" : [
{
"name" : "ProductName",
"type" : "string",
"default": ""
},
{
"name" : "SKU",
"type" : "int",
"default": 0
},
{
"name" : "InStock",
"type" : "boolean",
"default": false
}
]
}
Protokollpufferformat
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Wichtige Informationen zu Schemas
Im Folgenden finden Sie wichtige Informationen zum Erstellen und Verwalten von Pub/Sub-Schemas.
Damit ein Schema mit Pub/Sub funktioniert, darf nur ein Typ der obersten Ebene definiert werden. Importanweisungen, mit denen auf andere Typen verwiesen wird, werden nicht unterstützt.
Sie können dasselbe Schema mehreren Themen zuordnen.
Sie können manuell testen, ob eine Nachricht anhand eines Schemas validiert wird.
Die Namen von Schemafeldern dürfen keine vertraulichen Informationen wie personenidentifizierbare Informationen oder Sicherheitsdaten enthalten.
Kontingente und Limits für Schemas
Für Schemas gelten die folgenden Einschränkungen:
Das Feld für die Schemadefinition darf nicht größer als 300 KB sein.
Ein Projekt kann maximal 10.000 Schemas enthalten.
Ein einzelnes Schema darf nicht mehr als 20 Versionen haben.
Informationen zu Schemas und Limits im Zusammenhang mit Pub/Sub finden Sie unter Pub/Sub-Kontingente und ‑Limits.