Um esquema do Pub/Sub é um recurso opcional que pode ser usado para impor o formato do campo data 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 entre equipes de fluxos de dados na sua organização ao criar uma autoridade central para tipos de mensagens e permissões. Um esquema de mensagens do Pub/Sub define os nomes e os tipos de dados dos campos em uma mensagem.
É possível criar um esquema e associá-lo a um tópico para aplicar o esquema 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 revisões adicionais 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. Por exemplo, é possível excluir um esquema ou excluir uma revisão de esquema.
Por exemplo, o esquema a seguir define o inventário de um warehouse, 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 exceder 50 KB.
Um projeto pode ter no máximo 10.000 esquemas.
Um 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.