Dokumen ini menunjukkan cara melakukan roll back skema untuk topik Pub/Sub.
Operasi roll back memungkinkan Anda membuat revisi skema lain dengan definisi skema yang sama persis dengan revisi sebelumnya yang ditentukan.
Sebelum memulai
- Memahami cara kerja skema Pub/Sub.
- Membuat skema.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan guna melakukan roll back skema dan mengelolanya, minta administrator untuk memberi Anda peran IAM Pub/Sub Editor (roles/pubsub.editor) 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 melakukan roll back skema dan mengelolanya. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melakukan roll back skema dan mengelolanya:
-
Membuat skema:
pubsub.schemas.create -
Melampirkan skema ke topik:
pubsub.schemas.attach -
Meng-commit revisi skema:
pubsub.schemas.commit -
Menghapus skema atau revisi skema:
pubsub.schemas.delete -
Mendapatkan skema atau revisi skema:
pubsub.schemas.get -
Mencantumkan skema:
pubsub.schemas.list -
Mencantumkan revisi skema:
pubsub.schemas.listRevisions -
Melakukan roll back skema:
pubsub.schemas.rollback -
Memvalidasi pesan:
pubsub.schemas.validate -
Mendapatkan kebijakan IAM untuk skema:
pubsub.schemas.getIamPolicy -
Mengonfigurasi kebijakan IAM untuk skema:
pubsub.schemas.setIamPolicy
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Anda dapat memberikan peran dan izin kepada principal seperti pengguna, grup, domain, atau akun layanan. Anda dapat membuat skema di satu project dan melampirkannya ke topik yang berada di project lain. Pastikan Anda memiliki izin yang diperlukan untuk setiap project.
Melakukan roll back revisi skema
Anda dapat melakukan roll back skema menggunakan Cloud de Confiance konsol, gcloud CLI, Pub/Sub API, atau Cloud Client Libraries. Ikuti langkah-langkah berikut:
Konsol
Di Cloud de Confiance konsol, buka halaman Pub/Sub schemas.
Klik nama skema yang sudah ada.
Halaman Schema details untuk skema akan terbuka.
Klik Roll back.
Dialog Roll back schema akan terbuka.
Pilih revisi yang ingin Anda gunakan untuk melakukan roll back skema.
Klik Confirm untuk menyimpan operasi roll back.
Revisi baru dibuat dengan skema yang ditentukan dalam operasi roll back.
Di halaman Schema details, pilih versi skema terbaru dan versi yang Anda pilih sebagai sumber untuk operasi roll back.
Klik View diff.
Anda dapat memverifikasi bahwa kedua skema tersebut identik.
Anda dapat menggunakan revisi skema yang baru saja dibuat sebagai revisi terakhir untuk memvalidasi topik dengan memperbarui kolom Last revision allowed.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Dengan:
- REVISION_ID adalah revisi yang ingin Anda gunakan untuk melakukan roll back.
REST
Untuk melakukan roll back skema, kirim permintaan POST seperti berikut:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Tentukan kolom berikut dalam isi permintaan:
{ "revisionId": REVISION_KD }
Dengan:
- REVISION_KD adalah ID revisi yang akan digunakan untuk melakukan roll back.
Isi respons harus berisi representasi JSON dari resource skema .
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
Go
Contoh berikut menggunakan versi utama library klien Go Pub/Sub (v2). Jika Anda masih menggunakan library v1, lihat panduan migrasi ke v2. Untuk melihat daftar contoh kode v1, lihat contoh kode yang tidak digunakan lagi.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Go API.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Java API.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Python API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Node.js API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Node.js API.