Dalam Pub/Sub, topik adalah resource bernama yang mewakili feed pesan. Anda harus membuat topik sebelum dapat memublikasikan atau berlangganan ke topik tersebut. Pub/Sub mendukung dua jenis topik: topik standar dan topik impor.
Dokumen ini menjelaskan cara membuat topik standar Pub/Sub. Jika Anda ingin mempelajari lebih lanjut topik impor dan cara membuatnya, lihat Tentang topik impor.
Untuk membuat topik, Anda dapat menggunakan Trusted Cloud konsol, 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 mendapatkan izin yang diperlukan guna membuat topik, minta administrator Anda 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 membuat topik. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat topik:
-
Berikan izin ini untuk membuat topik di project:
pubsub.topics.create
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Anda dapat mengonfigurasi kontrol akses di tingkat project dan di tingkat resource individual. Anda dapat membuat langganan dalam satu project dan melampirkannya ke topik yang berada dalam project lain. Pastikan Anda memiliki izin yang diperlukan untuk setiap project.
Properti topik
Saat membuat atau memperbarui topik, Anda harus menentukan propertinya.
Tambahkan langganan default
Menambahkan langganan default ke topik Pub/Sub. Anda dapat membuat langganan lain untuk topik setelah topik dibuat. Langganan default memiliki properti berikut:
- ID langganan
-sub
- Jenis pengiriman pull
- Durasi retensi pesan selama tujuh hari
- Berakhir setelah tidak aktif selama 31 hari
- Batas waktu konfirmasi 10 detik
- Kebijakan percobaan ulang langsung
Mengaktifkan penyerapan
Dengan mengaktifkan properti ini, Anda dapat menyerap data streaming dari sumber eksternal ke dalam topik sehingga Anda dapat menggunakan fitur Trusted Cloud. Untuk membuat topik impor untuk penyerapan, lihat bagian berikut:
Mengaktifkan retensi pesan
Menentukan berapa lama topik Pub/Sub menyimpan pesan setelah dipublikasikan. Setelah durasi retensi pesan berakhir, Pub/Sub dapat menghapus pesan terlepas dari status pengakuannya. Biaya penyimpanan pesan dikenakan untuk penyimpanan semua pesan yang dipublikasikan ke topik
- Default = Tidak diaktifkan
- Nilai minimum = 10 menit
- Nilai maksimum = 31 hari
Mengekspor data pesan ke BigQuery
Dengan mengaktifkan properti ini, Anda dapat membuat langganan BigQuery yang menulis pesan ke tabel BigQuery yang ada saat pesan diterima. Anda tidak perlu mengonfigurasi klien pelanggan terpisah. Untuk mengetahui informasi selengkapnya tentang langganan BigQuery, lihat Langganan BigQuery.
Mencadangkan data pesan ke Cloud Storage
Dengan mengaktifkan properti ini, Anda dapat membuat langganan Cloud Storage yang menulis pesan ke tabel Cloud Storage yang sudah ada saat pesan diterima. Anda tidak perlu mengonfigurasi klien pelanggan terpisah. Untuk mengetahui informasi selengkapnya tentang langganan Cloud Storage, lihat Langganan Cloud Storage.
Transformasi
SMT topik memungkinkan modifikasi ringan pada data dan atribut pesan secara langsung dalam Pub/Sub. Fitur ini memungkinkan pembersihan data, pemfilteran, atau konversi format sebelum pesan dipublikasikan ke topik.
Untuk mengetahui informasi selengkapnya tentang SMT, lihat Ringkasan SMT.
Google Cloud-powered encryption key
Menentukan bahwa topik dienkripsi menggunakan Google Cloud-powered encryption keys. Pub/Sub mengenkripsi pesan dengan Google Cloud-powered encryption keys secara default, jadi memilih opsi ini akan mempertahankan perilaku default. Google menangani pengelolaan dan rotasi kunci secara otomatis, sehingga memastikan pesan Anda selalu dilindungi dengan enkripsi terkuat yang tersedia. Opsi ini tidak memerlukan konfigurasi lebih lanjut. Untuk mengetahui informasi selengkapnya tentang Google Cloud-powered encryption keys, lihat Enkripsi default dengan Google Cloud-powered encryption keys.
Kunci Cloud KMS
Menentukan apakah topik dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK). Pub/Sub mengenkripsi pesan dengan Google Cloud-powered encryption keys secara default. Jika Anda menentukan opsi ini, Pub/Sub akan menggunakan pola enkripsi amplop 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 dikirim ke pelanggan. Untuk mengetahui informasi selengkapnya tentang cara membuat kunci, lihat Mengonfigurasi enkripsi pesan.
Membuat topik
Buat topik sebelum Anda dapat memublikasikan atau berlangganan ke topik tersebut.
Konsol
Untuk membuat topik, ikuti langkah-langkah berikut:
Di konsol Trusted Cloud , buka halaman Create topic Pub/Sub.
Di kolom Topic ID, masukkan ID untuk topik Anda. Untuk mengetahui informasi selengkapnya tentang penamaan topik, lihat panduan penamaan.
Tetapkan opsi Tambahkan langganan default.
Opsional. Jangan pilih opsi lainnya.
Klik Create topic.
gcloud
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 bagi 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:
- PROJECT_ID adalah project ID Anda.
- TOPIC_ID adalah topic ID Anda.
Respons:
{ "name": "projects/PROJECT_ID/topics/TOPIC_ID" }
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.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Pub/Sub.
Go
Contoh berikut menggunakan library klien Go Pub/Sub versi utama (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.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
Node.ts
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Pub/Sub.
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.
Ruby
Contoh berikut menggunakan library klien Pub/Sub Ruby v3. Jika Anda masih menggunakan library v2, lihat panduan migrasi ke v3. Untuk melihat daftar contoh kode Ruby v2, lihat contoh kode yang tidak digunakan lagi.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Pub/Sub.
Langkah berikutnya
Pilih jenis langganan untuk topik Anda.
Pelajari cara memublikasikan pesan ke topik.
Pecahkan masalah topik.
Buat atau ubah topik dengan gcloud CLI, REST API, atau Library klien.