Ein Pub/Sub-Schema ist eine optionale Funktion, mit der Sie Das Format des Felds data in einer Pub/Sub-Nachricht.
Mit einem Schema wird zwischen dem Publisher und dem Abonnenten ein Vertrag über die Format der Nachrichten. Pub/Sub erzwingt dieses Format. Schemas erleichtern die Nutzung von Datenstreams zwischen Teams in Ihrem Organisation, indem sie eine zentrale Zertifizierungsstelle für Nachrichtentypen und Berechtigungen. 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 das Inventar eines Lagers zuerst im Avro-Format und dann im Protocol Buffer-Format definiert.
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
}
]
}
Protokollzwischenspeicher-Format
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Wichtige Informationen zu Schemas
Im Folgenden finden Sie einige wichtige Informationen zum Erstellen und Pub/Sub-Schemas verwalten.
Damit ein Schema mit Pub/Sub funktioniert, müssen Sie nur einen Typ der obersten Ebene definieren. Importanweisungen, die auf andere Typen verweisen, werden nicht unterstützt.
Sie können dasselbe Schema mit mehreren Themen verknüpfen.
Sie können manuell testen, ob eine Nachricht anhand eines Schemas validiert wird.
Kontingente und Limits für Schemas
Für Schemas gelten folgende Limits:
Das Feld für die Schemadefinition darf eine Größe von 300 KB nicht überschreiten.
Ein Projekt kann maximal 10.000 Schemas haben.
Ein einzelnes Schema kann nicht mehr als 20 Versionen haben.
Informationen zu Schemas und Limits im Zusammenhang mit Pub/Sub finden Sie unter Pub/Sub-Kontingente und -Limits.