Panoramica dello schema

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 il sottoscrittore relativo al formato dei messaggi. Questo formato viene applicato da Pub/Sub. Gli schemi facilitano l'utilizzo tra i team dei flussi di dati nell'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, il messaggio 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:

Dopo aver creato uno schema, puoi eseguire una serie di operazioni sullo schema o su una revisione dello schema. Ad esempio, puoi eliminare uno schema o eliminare una revisione dello schema.

Ad esempio, il seguente schema definisce l'inventario di un warehouse, prima nel formato Avro e poi nel formato del buffer di protocollo.

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;
}

Quote e limiti per gli schemi

Gli schemi hanno i seguenti limiti:

  • Il campo di definizione dello schema non può superare i 50 kB.

  • Un progetto può avere un massimo di 10.000 schemi.

  • Un singolo schema non può avere più di 20 revisioni.

    Per informazioni sugli schemi e sui limiti relativi a Pub/Sub, consulta Quote e limiti di Pub/Sub.

Passaggi successivi