Skema Pub/Sub adalah fitur opsional yang dapat Anda gunakan untuk menerapkan format kolom data dalam pesan Pub/Sub.
Skema membuat kontrak antara penayang dan pelanggan tentang format pesan. Pub/Sub menerapkan format ini. Skema memfasilitasi penggunaan aliran data antar-tim di organisasi Anda dengan membuat otoritas pusat untuk jenis pesan dan izin. Skema pesan Pub/Sub menentukan nama dan jenis data untuk kolom dalam pesan.
Anda dapat membuat skema dan mengaitkannya dengan topik untuk menerapkan skema bagi pesan yang dipublikasikan. Jika pesan tertentu tidak sesuai dengan skema, pesan tersebut tidak akan dipublikasikan. Anda juga dapat membuat revisi tambahan untuk skema.
Jenis skema
Anda dapat membuat skema di Pub/Sub menggunakan salah satu framework berikut:
Misalnya, skema berikut menentukan inventaris gudang, terlebih dahulu dalam format Avro, lalu dalam format Buffer Protokol.
Format Apache Avro
{
"type" : "record",
"name" : "Avro",
"fields" : [
{
"name" : "ProductName",
"type" : "string",
"default": ""
},
{
"name" : "SKU",
"type" : "int",
"default": 0
},
{
"name" : "InStock",
"type" : "boolean",
"default": false
}
]
}
Format Buffering Protokol
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
Informasi penting tentang skema
Berikut adalah beberapa informasi penting terkait pembuatan dan pengelolaan skema Pub/Sub.
Agar skema berfungsi dengan Pub/Sub, Anda hanya boleh menentukan satu jenis tingkat teratas. Pernyataan impor yang mereferensikan jenis lain tidak didukung.
Anda dapat mengaitkan skema yang sama ke beberapa topik.
Anda dapat menguji secara manual apakah pesan valid terhadap skema.
Kuota dan batas untuk skema
Skema memiliki batas berikut:
Ukuran kolom definisi skema tidak boleh melebihi 300 KB.
Sebuah project dapat memiliki maksimum 10.000 skema.
Satu skema tidak boleh memiliki lebih dari 20 revisi.
Untuk informasi tentang skema dan batas yang terkait dengan Pub/Sub, lihat Kuota dan batas Pub/Sub.