Saat Anda membuat versi skema baru, registry skema akan memeriksa apakah versi baru kompatibel dengan versi sebelumnya. Menerapkan kompatibilitas skema membantu memastikan produsen dan konsumen data terus bekerja dengan benar seiring berkembangnya struktur data.
Nilai yang didukung untuk jenis kompatibilitas adalah Backward, Backward transitive, Forward, Forward transitive, Full, Full transitive, atau None.
Jenis kompatibilitas dikelola sebagai objek JSON. Contoh:
{ "compatibility": "BACKWARD" }Jika tidak ditetapkan secara eksplisit, jenis kompatibilitas untuk registry skema secara default adalah Backward.
Jika jenis kompatibilitas tidak ditetapkan pada subjek, jenis tersebut akan mewarisi nilai dari registri skema.
Konfigurasi yang ditetapkan di tingkat subjek akan menggantikan konfigurasi di tingkat registri skema.
Memperbarui jenis kompatibilitas hanya memengaruhi versi skema baru yang didaftarkan setelah pembaruan.
Untuk mengetahui informasi selengkapnya tentang jenis kompatibilitas, lihat Tentang jenis kompatibilitas.
Peran dan izin yang diperlukan untuk memperbarui jenis kompatibilitas
Untuk mendapatkan izin yang
diperlukan guna memperbarui jenis kompatibilitas untuk registry skema atau subjek,
minta administrator untuk memberi Anda peran IAM
Managed Kafka Schema Registry Editor (roles/managedkafka.schemaRegistryEditor)
di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk memperbarui jenis kompatibilitas untuk registry skema atau subjek. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memperbarui jenis kompatibilitas untuk registry skema atau subjek:
-
Berikan izin berikut pada resource yang jenis kompatibilitasnya ingin Anda perbarui:
managedkafka.config.update
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Memperbarui jenis kompatibilitas untuk registry skema
Konsol
Untuk memperbarui jenis kompatibilitas untuk seluruh registry skema, ikuti langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Schema registries.
Daftar registry skema di project Anda akan ditampilkan.
- Klik nama schema registry yang jenis kompatibilitasnya ingin Anda perbarui.
Halaman Schema registry details akan terbuka.
- Di bagian detail utama untuk registri, temukan setelan Jenis kompatibilitas, lalu klik ikon Edit di sampingnya.
Halaman Edit jenis kompatibilitas akan terbuka.
- Dari menu dropdown Jenis kompatibilitas, pilih nilai.
- Klik Simpan.
gcloud
Untuk memperbarui jenis kompatibilitas untuk registry skema, gunakan perintah
gcloud alpha managed-kafka schema-registries update.
gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
SCHEMA_REGISTRY_ID: ID registry skema yang akan diupdate.LOCATION: region schema registry.COMPATIBILITY_TYPE: jenis kompatibilitas baru. Nilai yang valid mencakupBACKWARD,BACKWARD_TRANSITIVE,FORWARD,FORWARD_TRANSITIVE,FULL,FULL_TRANSITIVE, atauNONE.
Contoh: Perbarui jenis kompatibilitas registry skema test-registry di region us-central1 menjadi FORWARD.
gcloud alpha managed-kafka schema-registries update test-registry
--location=us-central1
--compatibility=FORWARD
REST
Untuk memperbarui jenis kompatibilitas untuk registry skema, buat permintaan PUT ke REST API.
Pertama, dapatkan token akses:
gcloud auth application-default print-access-token
Kemudian, kirim permintaan PUT ke endpoint config registry:
PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/config
Ganti parameter jalur berikut:
PROJECT_ID: Project ID Google Cloud Anda.LOCATION: region tempat schema registry berada.SCHEMA_REGISTRY_ID: ID registry skema.
Sertakan objek JSON berikut dalam isi permintaan:
{ "compatibility": "COMPATIBILITY_TYPE" }
Ganti COMPATIBILITY_TYPE dengan nilai yang valid, seperti NONE, BACKWARD, FORWARD, atau FULL.
Jika berhasil, API akan menampilkan kode status 200 OK.
Memperbarui jenis kompatibilitas untuk subjek
Konsol
Untuk memperbarui jenis kompatibilitas subjek tertentu, ikuti langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Schema registries.
- Klik nama registry skema yang berisi subjek.
Halaman Schema registry details akan terbuka.
- Di tabel Subjects in this schema registry, klik nama subjek.
- Temukan setelan Jenis kompatibilitas untuk subjek dan klik ikon Edit di sampingnya.
Halaman Edit jenis kompatibilitas akan terbuka.
- Dari menu dropdown Jenis kompatibilitas, pilih nilai. Memilih nilai di sini akan menggantikan setelan tingkat registry untuk subjek ini.
- Klik Simpan.
gcloud
Untuk memperbarui jenis kompatibilitas subjek, gunakan perintah
gcloud alpha managed-kafka schema-registries subject update.
gcloud alpha managed-kafka schema-registries subject update SUBJECT_ID
--schema-registry=SCHEMA_REGISTRY_ID
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
SUBJECT_ID: ID subjek yang akan diperbarui.SCHEMA_REGISTRY_ID: ID registry skema yang berisi subjek.LOCATION: region schema registry.COMPATIBILITY_TYPE: jenis kompatibilitas baru. Nilai yang valid mencakupBACKWARD,BACKWARD_TRANSITIVE,FORWARD,FORWARD_TRANSITIVE,FULL,FULL_TRANSITIVE, atauNONE.
Contoh: Perbarui jenis kompatibilitas subjek test-subject di registry skema test-registry di region us-central1 menjadi FORWARD_TRANSITIVE.
gcloud alpha managed-kafka schema-registries subject update test-subject
--schema-registry=test-registry
--location=us-central1
--compatibility=FORWARD_TRANSITIVE
REST
Untuk memperbarui jenis kompatibilitas subjek, buat permintaan PUT ke REST API.
Pertama, dapatkan token akses:
gcloud auth application-default print-access-token
Memperbarui kompatibilitas untuk subjek dalam konteks default:
PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/config/SUBJECT_ID
Memperbarui kompatibilitas subjek dalam konteks tertentu:
PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/contexts/CONTEXT_ID/config/SUBJECT_ID
Ganti parameter jalur berikut:
PROJECT_ID: Project ID Google Cloud Anda.LOCATION: region tempat schema registry berada.SCHEMA_REGISTRY_ID: ID registry skema.SUBJECT_ID: ID subjek.CONTEXT_ID: ID konteks (jika ada).
Sertakan objek JSON berikut dalam isi permintaan:
{ "compatibility": "COMPATIBILITY_TYPE" }
Ganti COMPATIBILITY_TYPE dengan nilai yang valid, seperti FORWARD_TRANSITIVE.
Contoh: Tetapkan kompatibilitas subjek user_events ke FORWARD_TRANSITIVE.
Permintaan ke PUT https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/config/user_events
Dengan isi:
{ "compatibility": "FORWARD_TRANSITIVE" }
Jika berhasil, API akan menampilkan kode status 200 OK.