Um esquema do Pub/Sub é um recurso opcional que pode ser usado para aplicar o formato do campo de dados em uma mensagem do Pub/Sub.
Um esquema cria um contrato entre o editor e o assinante sobre o formato das mensagens. O Pub/Sub aplica esse formato. Os esquemas facilitam o consumo de fluxos de dados entre equipes na sua organização, criando uma autoridade central para tipos de mensagens e permissões. Um esquema de mensagens do Pub/Sub define nomes e tipos de dados para os campos em uma mensagem.
É possível criar um esquema e associá-lo a um tópico para aplicá-lo a 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 seguintes frameworks:
Depois de criar um esquema, é possível executar várias operações nele ou em uma revisão de esquema. Por exemplo, é possível excluir um esquema ou uma revisão de esquema.
Por exemplo, o esquema a seguir define o inventário de um armazenamento, 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 50 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.