Um esquema do Pub/Sub é um recurso opcional que pode ser usado o formato do campo data em uma mensagem do Pub/Sub.
Um esquema cria um contrato entre o editor e o assinante sobre a e o formato das mensagens. O Pub/Sub aplica esse formato. Os esquemas facilitam o consumo de fluxos de dados entre equipes organização criando uma autoridade central para tipos de mensagens e permissões. Um esquema de mensagens do Pub/Sub define os nomes tipos de dados para os campos em uma mensagem.
É possível criar um esquema e associá-lo a um tópico para aplicar o esquema para mensagens publicadas. Se uma mensagem específica não estiver em conformidade com o esquema, ela não será publicada. Também é possível criar outras revisões para um esquema.
Tipos de esquemas
É possível criar um esquema no Pub/Sub usando um dos as seguintes estruturas:
Depois de criar um esquema, é possível executar diversas operações no ou uma revisão de esquema. Por exemplo, é possível excluir um esquema; ou exclua uma revisão de esquema.
Por exemplo, o esquema a seguir define o inventário de um armazém, primeiro no formato Avro e depois no formato Buffer 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 do buffer de protocolo
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Cotas e limites para esquemas
Os esquemas têm os seguintes limites:
O campo de definição do esquema não pode ter mais de 300 KB.
Um projeto pode ter no máximo 10.000 esquemas.
Um único esquema não pode ter mais de 20 revisões.
Para informações sobre esquemas e limites relacionados ao Pub/Sub, consulte Cotas e limites do Pub/Sub.