Dalam Pub/Sub, topik adalah resource bernama yang mewakili feed pesan. Anda harus membuat topik sebelum dapat memublikasikan atau berlangganan topik tersebut. Pub/Sub mendukung dua jenis topik: topik standar dan topik impor.
Dokumen ini menjelaskan cara membuat topik standar Pub/Sub. Jika ingin mengetahui lebih lanjut tentang topik impor dan cara membuatnya, lihat Membuat topik impor.
Untuk membuat topik, Anda dapat menggunakan Konsol Google Cloud, Google Cloud CLI, library klien, atau Pub/Sub API.
Sebelum memulai
Pelajari layanan Pub/Sub dan terminologinya.
Pelajari proses publikasi.
Peran dan izin yang diperlukan untuk mengelola topik
Untuk mendapatkan izin yang diperlukan untuk membuat dan mengelola topik,
minta administrator untuk memberi Anda
peran IAM Pub/Sub Editor(roles/pubsub.editor
)
terkait topik atau project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat dan mengelola topik. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat dan mengelola topik:
-
Buat topik:
pubsub.topics.create
-
Menghapus topik:
pubsub.topics.delete
-
Melepas langganan dari topik:
pubsub.topics.detachSubscription
-
Dapatkan topik:
pubsub.topics.get
-
Buat daftar topik:
pubsub.topics.list
-
Memublikasikan ke topik:
pubsub.topics.publish
-
Perbarui topik:
pubsub.topics.update
-
Dapatkan kebijakan IAM untuk topik:
pubsub.topics.getIamPolicy
-
Konfigurasi kebijakan IAM untuk topik:
pubsub.topics.setIamPolicy
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Anda dapat mengonfigurasi kontrol akses pada level project dan level resource individual. Anda dapat membuat langganan dalam satu project dan melampirkannya ke topik yang terletak di project berbeda. Pastikan Anda memiliki izin yang diperlukan untuk setiap project.
Properti topik
Saat membuat atau mengupdate topik, Anda harus menentukan propertinya.
-
Tambahkan langganan default. Menambahkan langganan default ke topik Pub/Sub. Anda dapat membuat langganan lain untuk topik tersebut setelah topik dibuat. Langganan default memiliki properti berikut:
- ID langganan
-sub
- Jenis pengiriman pull
- Durasi retensi pesan selama tujuh hari
- Masa berlaku setelah 31 hari tidak aktif
- Batas waktu konfirmasi selama 10 detik
- Kebijakan percobaan ulang langsung
- ID langganan
- Skema. Skema adalah format yang harus diikuti oleh kolom data pesan. Skema adalah kontrak antara penerbit dan pelanggan yang diberlakukan oleh Pub/Sub. Skema topik membantu menstandarkan jenis dan izin pesan agar dapat digunakan oleh tim lain di organisasi Anda. Pub/Sub menciptakan otoritas terpusat untuk jenis dan izin pesan. Untuk membuat topik dengan skema, lihat Ringkasan skema.
-
Aktifkan penyerapan. Dengan mengaktifkan properti ini, Anda dapat menyerap data streaming dari sumber eksternal ke dalam topik sehingga dapat memanfaatkan fitur Google Cloud. Untuk membuat topik impor untuk penyerapan, lihat Membuat topik impor.
-
Durasi retensi pesan. Menentukan berapa lama topik Pub/Sub mempertahankan pesan setelah publikasi. Setelah durasi retensi pesan berakhir, Pub/Sub dapat menghapus pesan terlepas dari status konfirmasinya. Biaya penyimpanan pesan akan dikenakan untuk penyimpanan semua pesan yang dipublikasikan ke topik.
- Default = Tidak diaktifkan
- Nilai minimum = 10 menit
- Nilai maksimum = 31 hari
- Gunakan kunci enkripsi yang dikelola pelanggan (Customer-Managed Encryption Key/CMEK). Menentukan apakah topik dienkripsi dengan CMEK. Pub/Sub mengenkripsi pesan dengan kunci yang dikelola Google secara default. Jika Anda menentukan opsi ini, Pub/Sub akan menggunakan pola enkripsi envelope dengan CMEK. Dalam pendekatan ini, Cloud KMS tidak mengenkripsi pesan. Sebagai gantinya, Cloud KMS mengenkripsi Kunci Enkripsi Data (DEK) yang dibuat Pub/Sub untuk setiap topik. Pub/Sub mengenkripsi pesan menggunakan DEK terbaru yang dibuat untuk topik. Pub/Sub mendekripsi pesan sesaat sebelum pesan dikirim ke pelanggan. Untuk mengetahui informasi selengkapnya tentang pembuatan kunci, lihat Mengonfigurasi enkripsi pesan.
Membuat topik
Buat topik sebelum Anda dapat memublikasikan atau berlangganan topik tersebut.
Konsol
Untuk membuat topik, ikuti langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Topics Pub/Sub.
Klik Create topic.
Di kolom ID Topik, masukkan ID untuk topik Anda. Untuk mengetahui informasi selengkapnya tentang penamaan topik, lihat panduan penamaan.
Pertahankan opsi Tambahkan langganan default.
Jangan pilih opsi lain.
Klik Create topic.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Untuk membuat topik, jalankan perintah
gcloud pubsub topics create
:gcloud pubsub topics create TOPIC_ID
REST
Untuk membuat topik, gunakan
metode
projects.topics.create
:
Permintaan harus diautentikasi dengan token akses di header Authorization
. Untuk mendapatkan token akses untuk Kredensial Default Aplikasi saat ini: gcloud auth application-default print-access-token
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
Dengan keterangan:
Respons:
{ "name": "projects/PROJECT_ID/topics/TOPIC_ID" }
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Node.js
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API PHP Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Ruby Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Batasan kebijakan organisasi
Kebijakan organisasi dapat membatasi pembuatan topik, misalnya, kebijakan dapat membatasi penyimpanan pesan di region Compute Engine. Untuk menghindari error pembuatan topik, periksa dan perbarui kebijakan organisasi, sesuai kebutuhan, sebelum membuat topik.
Jika project Anda baru dibuat, tunggu beberapa menit hingga kebijakan organisasi diinisialisasi sebelum membuat topik.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kebijakan penyimpanan pesan.
Langkah selanjutnya
Pilih jenis langganan untuk topik Anda.
Pelajari cara memublikasikan pesan ke topik.
Buat atau ubah topik dengan gcloud CLI, REST API, atau Library klien.