Descripción general del esquema

Un esquema de Pub/Sub es una función opcional que puedes usar para aplicar el formato del campo data en un mensaje de Pub/Sub.

Un esquema crea un contrato entre el publicador y el suscriptor sobre la formato de los mensajes. Pub/Sub aplica este formato de manera forzosa. Los esquemas facilitan el consumo de flujos de datos entre equipos en tu organización creando una autoridad central para los tipos de mensajes y permisos. Un esquema de mensaje de Pub/Sub define los nombres y los tipos de datos de los campos de un mensaje.

Puedes crear un esquema y asociarlo con un tema para aplicar el esquema en los mensajes publicados. Si un mensaje específico no cumple con el esquema, no se publicará. También puedes crear o revisiones adicionales de un esquema.

Tipos de esquemas

Puedes crear un esquema en Pub/Sub con uno de los siguientes marcos de trabajo:

Por ejemplo, el siguiente esquema define el inventario de un almacén, primero en el formato Avro y, luego, en el formato de búfer de protocolo.

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 búfer de protocolo

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

Información importante sobre los esquemas

A continuación, se incluye información importante sobre la creación y administración de esquemas de Pub/Sub.

  • Para que un esquema funcione con Pub/Sub, solo debes definir un tipo de nivel superior. Declaraciones de importación que hacen referencia a otros tipos no son compatibles.

  • Puedes asociar el mismo esquema a varios temas.

  • Puedes probar de forma manual si un mensaje se valida según un esquema.

Cuotas y límites para esquemas

Los esquemas tienen los siguientes límites:

  • El campo de definición de esquema no puede superar los 300 KB de tamaño.

  • Un proyecto puede tener un máximo de 10,000 esquemas.

  • Un mismo esquema no puede tener más de 20 revisiones.

    Para obtener información sobre los esquemas y los límites relacionados con Pub/Sub, consulta Cuotas y límites de Pub/Sub.

¿Qué sigue?