Um esquema do Pub/Sub é uma funcionalidade opcional que pode usar para aplicar o formato do campo data numa mensagem do Pub/Sub.
Um esquema cria um contrato entre o publicador e o subscritor acerca do formato das mensagens. O Pub/Sub aplica este formato. Os esquemas facilitam o consumo de streams de dados entre equipas na sua organização através da criação de uma autoridade central para tipos de mensagens e autorizações. Um esquema de mensagens do Pub/Sub define os nomes e os tipos de dados dos campos numa mensagem.
Pode criar um esquema e associá-lo a um tópico para aplicar o esquema às mensagens publicadas. Se uma mensagem específica não estiver em conformidade com o esquema, a mensagem não é publicada. Também pode criar revisões adicionais para um esquema.
Tipos de esquemas
Pode criar um esquema no Pub/Sub através de um dos seguintes frameworks:
Por exemplo, o esquema seguinte define o inventário de um armazém, primeiro no formato Avro e, em seguida, no formato Protocol Buffer.
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 de buffer de protocolo
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Informações importantes sobre esquemas
Seguem-se algumas informações importantes sobre a criação e a gestão de esquemas do Pub/Sub.
Para que um esquema funcione com o Pub/Sub, tem de definir apenas um tipo de nível superior. As declarações de importação que fazem referência a outros tipos não são suportadas.
Pode associar o mesmo esquema a vários tópicos.
Pode testar manualmente se uma mensagem é validada em relação a um esquema.
Não inclua informações confidenciais, como informações de identificação pessoal (IIP) ou dados de segurança, nos nomes dos campos do esquema.
Quotas e limites para esquemas
Os esquemas têm os seguintes limites:
O tamanho do campo de definição do esquema não pode exceder 300 KB.
Um projeto pode ter um máximo de 10 000 esquemas.
Um único esquema não pode ter mais de 20 revisões.
Para obter informações sobre esquemas e limites relacionados com o Pub/Sub, consulte Quotas e limites do Pub/Sub.