Uno schema Pub/Sub è una funzionalità facoltativa che puoi utilizzare per applicare in modo forzato 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. Pub/Sub applica questo formato. Gli schemi facilitano il consumo tra team degli stream di dati nella tua organizzazione creando un'autorità centrale per i tipi di messaggi e le autorizzazioni. Uno schema di messaggi Pub/Sub definisce i nomi e i tipi di dati per i campi di un messaggio.
Puoi creare uno schema e associarlo a un argomento per applicarlo in modo forzato ai messaggi pubblicati. Se un messaggio specifico non è conforme allo schema, non viene pubblicato. Puoi anche creare revisioni aggiuntive per uno schema.
Tipi di schemi
Puoi creare uno schema in Pub/Sub utilizzando uno dei seguenti framework:
Ad esempio, lo schema seguente definisce l'inventario di un magazzino, 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 del 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 è valido in base a uno schema. 
- Non includere informazioni sensibili come quelle che consentono l'identificazione personale (PII) o dati di sicurezza nei nomi dei campi dello schema. 
Quote e limiti per gli schemi
Gli schemi hanno i seguenti limiti:
- Il campo della 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.