Un schéma Pub/Sub est une fonctionnalité facultative que vous pouvez utiliser pour appliquer le format du champ données 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 des flux de données au sein de votre organisation en créant une autorité centrale pour les types de messages et les autorisations. Un schéma de message Pub/Sub définit les noms et les types de données des champs d'un message.
Vous pouvez créer un schéma et l'associer à un sujet pour appliquer le schéma aux messages publiés. Si un message spécifique n'est pas conforme au schéma, il 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'un des frameworks suivants:
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 Protocol Buffers
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Informations importantes sur les schémas
Vous trouverez ci-dessous des informations importantes sur la création et la gestion de schémas Pub/Sub.
Pour qu'un schéma fonctionne avec Pub/Sub, vous ne devez définir qu'un seul type de premier niveau. Les instructions d'importation qui font référence à d'autres types ne sont pas acceptées.
Vous pouvez associer le même schéma à plusieurs sujets.
Vous pouvez tester manuellement si un message est valide par rapport à un schéma.
Quotas et limites pour les schémas
Les schémas présentent les limites suivantes:
La taille du champ de définition du schéma ne doit pas dépasser 300 Ko.
Un projet peut contenir au maximum 10 000 schémas.
Un schéma ne peut pas avoir plus de 20 révisions.
Pour en savoir plus sur les schémas et les limites liés à Pub/Sub, consultez la section Quotas et limites de Pub/Sub.