Dokumen ini menjelaskan cara menghapus versi tertentu dari subjek skema dari registry skema. Ada dua cara untuk menghapus versi subjek:
Hapus sementara. Menandai versi sebagai dihapus, tetapi informasinya dipertahankan dan dapat dipulihkan.
Hapus permanen. Menghapus versi dan data terkaitnya secara permanen.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna menghapus versi subjek skema,
minta administrator untuk memberi Anda
peran IAM Managed Kafka Schema Registry Editor (roles/managedkafka.schemaRegistryEditor)
pada subjek induk.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menghapus versi subjek skema. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menghapus versi subjek skema:
-
Berikan izin berikut pada subjek induk:
managedkafka.googleapis.com/subjectVersions.delete
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya tentang peran bawaan, lihat Peran bawaan Managed Service for Apache Kafka.
Menghapus sementara versi subjek skema
Berikut adalah beberapa praktik terbaik untuk menghapus sementara versi subjek skema:
Pastikan tidak ada produsen atau konsumen aktif yang menggunakan versi subjek skema yang ingin Anda hapus.
Setelah menghapus versi subjek skema, pantau aplikasi Anda untuk memastikan aplikasi tersebut terus berfungsi seperti yang diharapkan.
Penghapusan sementara memungkinkan pemulihan versi subjek skema yang dihapus, yang berguna jika Anda tidak yakin untuk menghapus versi subjek skema.
Untuk menghapus sementara versi subjek skema, ikuti langkah-langkah berikut.
Konsol
Di konsol Google Cloud , buka halaman Schema registries.
Klik nama schema registry tempat subjek Anda berada.
Di bagian Subjek dalam registry skema ini, klik nama subjek.
Dalam daftar Semua versi, temukan versi yang ingin Anda hapus, lalu klik Tindakan lainnya.
Klik Hapus versi.
Di jendela Hapus versi skema, klik Hapus sementara.
Konfirmasi penghapusan dengan mengetik
delete, lalu klik Hapus.
REST
Untuk menghapus sementara versi subjek skema, buat permintaan DELETE ke
metode projects.locations.schemaRegistries.subjects.versions.delete.
Permintaan harus diautentikasi dengan token akses di header Authorization. Untuk mendapatkan token akses bagi Kredensial Default Aplikasi saat ini, jalankan perintah berikut:
gcloud auth application-default print-access-token.
Untuk menghapus sementara versi subjek skema:
Gunakan perintah berikut untuk konteks default:
DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID Authorization: Bearer $(gcloud auth application-default print-access-token)Gunakan perintah berikut untuk konteks tertentu:
DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
Ganti kode berikut:
- PROJECT_ID: Google Cloud project ID Anda, misalnya,
test-project. - LOCATION: region Google Cloud tempat
schema registry berada, misalnya,
us-central1. - REGISTRY_ID: ID schema registry Anda, misalnya,
test_registry. - CONTEXT_ID: ID konteks Anda, misalnya,
test_context. - SUBJECT_ID: ID subjek, misalnya,
test_subject. - VERSION_ID: versi subjek yang akan dihapus, misalnya,
2ataulatest. - SERVICE_ACCOUNT: akun layanan, misalnya,
test-service-account@test-project.iam.gserviceaccount.com.
Jika permintaan berhasil, API akan menampilkan kode status 200 OK dan
isi respons kosong.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi metode
projects.locations.schemaRegistries.subjects.versions.delete.
Menghapus paksa versi subjek skema
Berikut adalah beberapa praktik terbaik untuk menghapus paksa versi subjek skema:
Pastikan Anda memiliki cadangan atau cara untuk membuat ulang versi subjek skema jika diperlukan.
Pastikan tidak ada produsen atau konsumen aktif yang menggunakan versi subjek skema yang ingin Anda hapus.
Selalu uji penghapusan versi subjek skema di lingkungan pengembangan atau penyiapan sebelum menerapkan perubahan pada produksi.
Setelah menghapus versi subjek skema, pantau aplikasi Anda untuk memastikan aplikasi tersebut terus berfungsi seperti yang diharapkan.
Gunakan penghapusan permanen jika Anda perlu menghapus versi subjek skema secara permanen.
Untuk menghapus paksa versi subjek skema, ikuti langkah-langkah berikut.
Konsol
Di konsol Google Cloud , buka halaman Schema registries.
Klik nama schema registry tempat subjek Anda berada.
Di bagian Subjek dalam registry skema ini, klik nama subjek.
Dalam daftar Semua versi, temukan versi yang ingin Anda hapus, lalu klik Tindakan lainnya.
Klik Hapus versi.
Di jendela Hapus versi skema, klik Hapus permanen.
Konfirmasi penghapusan dengan mengetik
delete, lalu klik Hapus. Tindakan ini akan menghapus sementara versi subjek sebelum menghapusnya secara permanen.
REST
Untuk menghapus versi subjek skema secara permanen menggunakan REST API, Anda harus menghapusnya secara sementara terlebih dahulu. Setelah dihapus sementara, Anda dapat melanjutkan penghapusan permanen.
Untuk menghapus versi subjek skema secara permanen, buat permintaan DELETE ke
metode
projects.locations.schemaRegistries.subjects.versions.delete. Untuk menghapus versi subjek skema secara permanen, sertakan parameter kueri
hardDelete=true.
Permintaan harus diautentikasi dengan token akses di header Authorization. Untuk mendapatkan token akses bagi Kredensial Default Aplikasi saat ini, jalankan perintah berikut:
gcloud auth application-default print-access-token.
Untuk menghapus versi subjek skema secara permanen:
Gunakan perintah berikut untuk konteks default:
DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true Authorization: Bearer $(gcloud auth application-default print-access-token)Gunakan perintah berikut untuk konteks tertentu:
DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
Ganti kode berikut:
- PROJECT_ID: Google Cloud project ID Anda, misalnya,
test-project. - LOCATION: region Google Cloud tempat
schema registry berada, misalnya,
us-central1. - REGISTRY_ID: ID schema registry Anda, misalnya,
test_registry. - CONTEXT_ID: ID konteks Anda, misalnya,
test_context. - SUBJECT_ID: ID subjek, misalnya,
test_subject. - VERSION_ID: versi subjek yang akan dihapus, misalnya,
2ataulatest. - SERVICE_ACCOUNT: akun layanan, misalnya,
test-service-account@test-project.iam.gserviceaccount.com.
Jika permintaan berhasil, API akan menampilkan kode status 200 OK dan
isi respons kosong.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi metode
projects.locations.schemaRegistries.subjects.versions.delete.