Uno schema Pub/Sub è una funzionalità facoltativa che puoi usare per applicare il formato del campo data in un messaggio Pub/Sub.
Uno schema crea un contratto tra il publisher e l'abbonato relativo al formato dei messaggi. Questo formato viene applicato da Pub/Sub. Gli schemi facilitano l'utilizzo tra i team dei flussi di dati nel tuo organizzazione creando un'autorità centrale per i tipi di messaggi autorizzazioni aggiuntive. Uno schema di messaggi Pub/Sub definisce i nomi tipi di dati per i campi di un messaggio.
Puoi creare uno schema e associarlo a un argomento per lo schema per i messaggi pubblicati. Se un messaggio specifico mostra non è conforme allo schema, il messaggio non è pubblicato. Puoi anche creare revisioni aggiuntive per uno schema.
Tipi di schemi
Puoi creare uno schema in Pub/Sub utilizzando uno dei i seguenti framework:
Ad esempio, il seguente schema definisce l'inventario di un warehouse, prima nel formato Avro e poi nel formato Protocol Buffer.
Formato Apache Avro
{
"type" : "record",
"name" : "Avro",
"fields" : [
{
"name" : "ProductName",
"type" : "string",
"default": ""
},
{
"name" : "SKU",
"type" : "int",
"default": 0
},
{
"name" : "InStock",
"type" : "boolean",
"default": false
}
]
}
Formato buffer di protocollo
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Informazioni importanti sugli schemi
Di seguito sono riportate alcune informazioni importanti sulla creazione e sulla gestione degli schemi Pub/Sub.
Affinché uno schema funzioni con Pub/Sub, devi definire un solo tipo di primo livello. Le istruzioni di importazione che fanno riferimento ad altri tipi non sono supportate.
Puoi associare lo stesso schema a più argomenti.
Puoi verificare manualmente se un messaggio viene convalidato in base a uno schema.
Quote e limiti per gli schemi
Gli schemi presentano i seguenti limiti:
Il campo di definizione dello schema non può superare i 300 KB.
Un progetto può avere un massimo di 10.000 schemi.
Un singolo schema non può avere più di 20 revisioni.
Per informazioni su schemi e limiti relativi a Pub/Sub, consulta Quote e limiti di Pub/Sub.