Présentation du schéma

Un schéma Pub/Sub est une fonctionnalité facultative que vous pouvez utiliser pour appliquer le format du champ data dans un message Pub/Sub ;

Un schéma crée un contrat entre l'éditeur et l'abonné concernant le format des messages. Pub/Sub applique ce format. Les schémas facilitent la consommation inter-équipe des flux de données dans vos en créant une autorité centrale pour les types de messages autorisations. Un schéma de message Pub/Sub définit les noms pour les champs d'un message.

Vous pouvez créer un schéma et l'associer à un sujet et d'appliquer le schéma des messages publiés. Si un message spécifique non conforme au schéma, le message n'est pas publié. Vous pouvez également créer des révisions supplémentaires pour un schéma.

Types de schémas

Vous pouvez créer un schéma dans Pub/Sub à l'aide de l'une des les cadres suivants:

Après avoir créé un schéma, vous pouvez effectuer un certain nombre d'opérations sur le un schéma ou une révision de schéma. Par exemple, vous pouvez Supprimer un schéma ou supprimer une révision de schéma.

Par exemple, le schéma suivant définit l'inventaire d'un entrepôt, d'abord au format Avro, puis au format Protocol Buffer.

Format Apache Avro

{
 "type" : "record",
 "name" : "Avro",
 "fields" : [
   {
     "name" : "ProductName",
     "type" : "string",
     "default": ""
   },
   {
     "name" : "SKU",
     "type" : "int",
     "default": 0
   },
   {
     "name" : "InStock",
     "type" : "boolean",
     "default": false
   }
 ]
}

Format du tampon de protocole

syntax = "proto3";
message ProtocolBuffer {
  string product_name = 1;
  int32 SKU = 2;
  bool in_stock = 3;
}

Quotas et limites pour les schémas

Les limites suivantes s'appliquent aux schémas:

  • La taille du champ de définition de schéma ne peut pas dépasser 50 Ko.

  • Un projet peut comporter jusqu'à 10 000 schémas.

  • Un schéma ne peut pas comporter plus de 20 révisions.

    Pour en savoir plus sur les schémas et les limites liés à Pub/Sub, consultez la page Quotas et limites de Pub/Sub.

Étape suivante