Topik impor Cloud Storage memungkinkan Anda terus menyerap data dari Cloud Storage ke Pub/Sub. Kemudian, Anda dapat melakukan streaming data ke salah satu tujuan yang didukung Pub/Sub. Pub/Sub secara otomatis mendeteksi objek baru yang ditambahkan ke bucket Cloud Storage dan menyerapnya.
Cloud Storage adalah layanan untuk menyimpan objek di Google Cloud. Objek adalah bagian data yang tidak dapat diubah dan terdiri dari file dalam format apa pun. Anda menyimpan objek di penampung yang disebut bucket. Bucket juga dapat berisi folder terkelola, yang Anda gunakan untuk memberikan akses yang diperluas ke grup objek dengan awalan nama bersama.
Untuk mengetahui informasi selengkapnya tentang Cloud Storage, lihat dokumentasi Cloud Storage.
Untuk mengetahui informasi selengkapnya tentang topik impor, lihat Tentang topik impor.
Sebelum memulai
Bucket Cloud Storage harus sudah ada sebelum Anda membuat topik impor Cloud Storage. Jika Anda menggunakan konsol untuk membuat topik impor, alur kerja ini memungkinkan Anda membuat bucket Cloud Storage. Untuk metode konfigurasi lainnya, lihat Membuat bucket.
Jika berlaku, pastikan kebijakan penyimpanan pesan topik Pub/Sub tumpang-tindih dengan region tempat bucket Cloud Storage Anda berada. Untuk mengetahui informasi selengkapnya, lihat Kebijakan penyimpanan pesan mematuhi lokasi bucket.
Beberapa layanan Google Cloud memiliki akun layanan yang dikelola Google Cloud yang memungkinkan layanan mengakses resource Anda. Akun layanan ini dikenal sebagai agen layanan. Pub/Sub membuat dan mengelola akun layanan untuk setiap project dalam format
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
. Konfigurasikan peran dan izin yang diperlukan di akun layanan Pub/Sub untuk mengelola topik impor Cloud Storage, termasuk hal berikut:Berikan peran penayang Pub/Sub (
roles/pubsub.publisher
) ke akun layanan Pub/Sub. Akun layanan ini akan memublikasikan ke topik impor. Untuk memberikan peran ini, Anda memerlukan akun pengguna dengan peran Pub/Sub Admin (roles/pubsub.admin
). Untuk mengetahui informasi selengkapnya, lihat Menambahkan peran penayang Pub/Sub ke akun layanan Pub/Sub.Berikan izin Cloud Storage ke akun layanan Pub/Sub. Untuk memberikan izin ini, Anda memerlukan akun pengguna dengan peran Storage Admin (
roles/storage.admin
). Untuk informasi selengkapnya, lihat Menetapkan peran Cloud Storage ke akun layanan Pub/Sub.
Peran dan izin yang diperlukan untuk mengelola topik impor Cloud Storage
Untuk mendapatkan izin yang Anda perlukan guna membuat dan mengelola topik impor Cloud Storage,
minta administrator untuk memberi Anda
peran IAM Pub/Sub Editor (roles/pubsub.editor
) di topik atau 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 dan mengelola topik impor Cloud Storage. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat dan mengelola topik impor Cloud Storage:
-
Buat topik impor:
pubsub.topics.create
-
Menghapus topik impor:
pubsub.topics.delete
-
Mendapatkan topik impor:
pubsub.topics.get
-
Cantumkan topik impor:
pubsub.topics.list
-
Memublikasikan ke topik impor:
pubsub.topics.publish
-
Memperbarui topik impor:
pubsub.topics.update
-
Dapatkan kebijakan IAM untuk topik impor:
pubsub.topics.getIamPolicy
-
Konfigurasikan kebijakan IAM untuk topik impor:
pubsub.topics.setIamPolicy
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Anda dapat mengonfigurasi kontrol akses di tingkat project dan tingkat resource individual.
Kebijakan penyimpanan pesan mematuhi lokasi bucket
Kebijakan penyimpanan pesan topik Pub/Sub harus tumpang-tindih dengan region tempat bucket Cloud Storage Anda berada. Kebijakan ini menentukan tempat Pub/Sub diizinkan untuk menyimpan data pesan Anda.
Untuk bucket dengan jenis lokasi sebagai region: Kebijakan harus menyertakan region tertentu tersebut. Misalnya, jika bucket Anda berada di region
us-central1
, kebijakan penyimpanan pesan juga harus menyertakanus-central1
.Untuk bucket dengan jenis lokasi sebagai dual-region atau multi-region: Kebijakan harus menyertakan setidaknya satu region dalam lokasi dual-region atau multi-region. Misalnya, jika bucket Anda berada di
US multi-region
, kebijakan penyimpanan pesan dapat mencakupus-central1
,us-east1
, atau region lain dalamUS multi-region
.Jika kebijakan tidak menyertakan region bucket, pembuatan topik akan gagal. Misalnya, jika bucket Anda berada di
europe-west1
dan kebijakan penyimpanan pesan Anda hanya menyertakanasia-east1
, Anda akan menerima error.Jika kebijakan penyimpanan pesan hanya menyertakan satu region yang tumpang-tindih dengan lokasi bucket, redundansi multi-region mungkin akan terganggu. Hal ini karena jika satu region tersebut tidak tersedia, data Anda mungkin tidak dapat diakses. Untuk memastikan redundansi penuh, sebaiknya sertakan setidaknya dua region dalam kebijakan penyimpanan pesan yang merupakan bagian dari lokasi multi-region atau dual-region bucket.
Untuk mengetahui informasi selengkapnya tentang lokasi bucket, lihat dokumentasi.
Menambahkan peran penayang Pub/Sub ke akun layanan Pub/Sub
Anda harus menetapkan peran penayang Pub/Sub ke akun layanan Pub/Sub agar Pub/Sub dapat memublikasikan ke topik impor Cloud Storage.
Untuk mengaktifkan publikasi ke semua topik dalam project, lihat Mengaktifkan publikasi ke semua topik. Gunakan metode ini jika Anda belum membuat topik impor Cloud Storage.
Untuk mengaktifkan publikasi ke topik tertentu, lihat Mengaktifkan publikasi ke satu topik. Gunakan metode ini hanya jika topik impor Cloud Storage sudah ada.
Mengaktifkan publikasi ke semua topik impor Cloud Storage
Pilih opsi ini jika Anda tidak memiliki topik impor Cloud Storage yang tersedia di project.
Di konsol Google Cloud, buka halaman IAM.
Aktifkan opsi Sertakan pemberian peran yang disediakan Google.
Cari akun layanan Pub/Sub yang memiliki format:
service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com
Untuk akun layanan ini, klik tombol Edit Principal.
Jika diperlukan, klik Tambahkan peran lain.
Telusuri dan pilih Pub/Sub publisher role (
roles/pubsub.publisher
).Klik Simpan.
Mengaktifkan publikasi ke satu topik impor Cloud Storage
Jika Anda ingin memberikan izin kepada Pub/Sub untuk memublikasikan ke topik impor Cloud Storage tertentu yang sudah ada, ikuti langkah-langkah berikut:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Jalankan perintah
gcloud pubsub topics add-iam-policy-binding
:gcloud pubsub topics add-iam-policy-binding TOPIC_ID\ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com"\ --role="roles/pubsub.publisher"
Ganti kode berikut:
TOPIC_ID adalah ID atau nama topik impor Cloud Storage.
PROJECT_NUMBER adalah nomor project. Untuk melihat nomor project, lihat Mengidentifikasi project.
Menetapkan peran Cloud Storage ke akun layanan Pub/Sub
Untuk membuat topik impor Cloud Storage, akun layanan Pub/Sub harus memiliki izin untuk membaca dari bucket Cloud Storage tertentu. Izin berikut diperlukan:
storage.objects.list
storage.objects.get
storage.buckets.get
Untuk menetapkan izin ini ke akun layanan Pub/Sub, pilih salah satu prosedur berikut:
Berikan izin di tingkat bucket. Pada bucket Cloud Storage tertentu, berikan peran Storage Legacy Object Reader (
roles/storage.legacyObjectReader
) dan Storage Legacy Bucket Reader (roles/storage.legacyBucketReader
) ke akun layanan Pub/Sub.Jika harus memberikan peran di tingkat project, Anda dapat memberikan peran Storage Admin (
roles/storage.admin
) di project yang berisi bucket Cloud Storage. Berikan peran ini ke akun layanan Pub/Sub.
Izin bucket
Lakukan langkah-langkah berikut untuk memberikan peran Storage Legacy Object Reader
(roles/storage.legacyObjectReader
) dan
Storage Legacy Bucket Reader (roles/storage.legacyBucketReader
) ke akun layanan
Pub/Sub di tingkat bucket:
Di konsol Google Cloud, buka halaman Cloud Storage.
Klik bucket Cloud Storage tempat Anda ingin membaca pesan dan mengimpor ke topik impor Cloud Storage.
Halaman Detail bucket akan terbuka.
Di halaman Detail bucket, klik tab Permissions.
Di tab Permissions > View by Principals, klik Grant access.
Halaman Berikan akses akan terbuka.
Di bagian Add Principals, masukkan nama akun layanan Pub/Sub Anda.
Format akun layanan adalah
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
. Misalnya, untuk project dengan PROJECT_NUMBER=112233445566
, akun layanan memiliki formatservice-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
.Di drop-down Assign roles > Select a role, masukkan
Object Reader
dan pilih peran Storage Legacy Object Reader.Klik Add another role.
Di drop-down Select a role, masukkan
Bucket Reader
, lalu pilih peran Storage Legacy Bucket Reader.Klik Simpan.
Izin project
Lakukan langkah-langkah berikut untuk memberikan peran Storage Admin
(roles/storage.admin
) di tingkat project:
Di konsol Google Cloud, buka halaman IAM.
Di tab Permissions > View by Principals, klik Grant access.
Halaman Berikan akses akan terbuka.
Di bagian Add Principals, masukkan nama akun layanan Pub/Sub Anda.
Format akun layanan adalah
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
. Misalnya, untuk project dengan PROJECT_NUMBER=112233445566
, akun layanan memiliki formatservice-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
.Di drop-down Assign roles > Select a role, masukkan
Storage Admin
, lalu pilih peran Storage Admin.Klik Simpan.
Untuk informasi selengkapnya tentang IAM Cloud Storage, lihat Cloud Storage Identity and Access Management.
Properti topik impor Cloud Storage
Untuk mengetahui informasi selengkapnya tentang properti umum di semua topik, lihat Properti topik.
Nama bucket
Ini adalah nama bucket Cloud Storage tempat Pub/Sub membaca data yang dipublikasikan ke topik impor Cloud Storage.
Format input
Saat membuat topik impor Cloud Storage, Anda dapat menentukan format objek yang akan diserap sebagai Teks, Avro, atau Avro Pub/Sub.
Teks. Objek diasumsikan menyimpan data dengan teks biasa. Format input ini mencoba menyerap semua objek di bucket selama objek tersebut memenuhi waktu pembuatan objek minimum dan cocok dengan kriteria pola glob.
Pemisah. Anda juga dapat menentukan pemisah yang digunakan untuk memisahkan objek menjadi pesan. Jika tidak ditetapkan, nilai defaultnya adalah karakter baris baru (
\n
). Pemisah hanya boleh berupa satu karakter.Avro. Objek dalam format biner Apache Avro. Objek apa pun yang tidak dalam format Apache Avro yang valid tidak akan diserap. Berikut adalah batasan terkait Avro:
- Avro versi 1.1.0 dan 1.2.0 tidak didukung.
- Ukuran maksimum blok Avro adalah 16 MB.
Pub/Sub Avro. Objek dalam format biner Apache Avro dengan skema yang cocok dengan skema objek yang ditulis ke Cloud Storage menggunakan langganan Cloud Storage Pub/Sub dengan format file Avro. Berikut beberapa panduan penting untuk Avro Pub/Sub:
Kolom data data Avro digunakan untuk mengisi kolom data pesan Pub/Sub yang dihasilkan.
Jika opsi write_metadata ditentukan untuk langganan Cloud Storage, nilai apa pun di kolom atribut akan diisi sebagai atribut pesan Pub/Sub yang dihasilkan.
Jika kunci pengurutan ditentukan dalam pesan asli yang ditulis ke Cloud Storage, kolom ini akan diisi sebagai atribut dengan nama
original_message_ordering_key
dalam pesan Pub/Sub yang dihasilkan.
Waktu pembuatan objek minimum
Secara opsional, Anda dapat menentukan waktu pembuatan objek minimum saat membuat topik impor Cloud Storage. Hanya objek yang dibuat pada atau setelah stempel waktu ini yang akan ditransfer. Stempel waktu ini harus diberikan
dalam format seperti YYYY-MM-DDThh:mm:ssZ
.
Tanggal apa pun, baik masa lalu maupun mendatang,
dari 0001-01-01T00:00:00Z
hingga 9999-12-31T23:59:59Z
inklusif, valid.
Mencocokkan pola glob
Secara opsional, Anda dapat menentukan pola glob pencocokan saat membuat
topik impor Cloud Storage. Hanya objek dengan nama yang cocok dengan pola ini yang akan ditransfer. Misalnya, untuk menyerap semua objek dengan akhiran .txt
,
Anda dapat menentukan pola glob sebagai **.txt
.
Untuk mengetahui informasi tentang sintaksis yang didukung untuk pola glob, lihat dokumentasi Cloud Storage.
Membuat topik impor Cloud Storage
Pastikan Anda telah menyelesaikan prosedur berikut:
Buat bucket Cloud Storage. Jika Anda menggunakan konsol untuk membuat topik impor, alur kerja ini memungkinkan Anda membuat bucket Cloud Storage sebagai bagian dari alur kerja.
Tambahkan peran penayang Pub/Sub ke akun layanan Pub/Sub untuk semua topik.
Membuat topik dan langganan secara terpisah, meskipun dilakukan secara berurutan, dapat menyebabkan hilangnya data. Ada periode singkat saat topik tersedia tanpa langganan. Jika ada data yang dikirim ke topik selama waktu ini, data tersebut akan hilang. Dengan membuat topik terlebih dahulu, membuat langganan, lalu mengonversi topik ke topik impor, Anda menjamin bahwa tidak ada pesan yang terlewat selama proses impor.
Untuk membuat topik impor Cloud Storage, ikuti langkah-langkah berikut:
Konsol
-
Di konsol Google Cloud, buka halaman Topics.
-
Klik Create topic.
Halaman detail topik akan terbuka.
-
Di kolom Topic ID, masukkan ID untuk topik impor Cloud Storage Anda.
Untuk informasi selengkapnya tentang penamaan topik, lihat panduan penamaan.
-
Pilih Tambahkan langganan default.
-
Pilih Aktifkan penyerapan.
-
Untuk sumber transfer, pilih Google Cloud Storage.
-
Untuk bucket Cloud Storage, klik Browse.
Halaman Select bucket akan terbuka. Pilih salah satu opsi berikut:
-
Pilih bucket yang ada dari project yang sesuai.
-
Klik ikon buat dan ikuti petunjuk di layar untuk membuat bucket baru. Setelah membuat bucket, pilih bucket untuk topik impor Cloud Storage.
-
-
Saat Anda menentukan bucket, Pub/Sub akan memeriksa izin yang sesuai di bucket untuk akun layanan Pub/Sub. Jika ada masalah izin, Anda akan melihat pesan yang mirip dengan berikut ini:
Unable to verify if the Pub/Sub service agent has write permissions on this bucket. You may be lacking permissions to view or set permissions.
Jika Anda mengalami masalah izin, klik Set permissions. Untuk informasi selengkapnya, lihat Memberikan izin Cloud Storage ke akun layanan Pub/Sub.
-
Untuk Object format, pilih Text, Avro, atau Pub/Sub Avro.
Jika memilih Text, Anda dapat menentukan Delimiter secara opsional untuk memisahkan objek menjadi pesan.
Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Format input.
- Opsional. Anda dapat menentukan Waktu pembuatan objek minimum untuk
topik Anda. Jika ditetapkan, hanya objek yang dibuat setelah waktu pembuatan objek minimum yang akan ditransfer.
Untuk informasi selengkapnya, lihat Waktu pembuatan objek minimum.
- Anda harus menentukan Pola glob. Untuk menyerap semua objek dalam bucket,
gunakan
**
sebagai pola glob. Jika ditetapkan, hanya objek yang cocok dengan pola yang diberikan yang akan diserap.Untuk informasi selengkapnya, lihat Mencocokkan pola glob.
- Pertahankan setelan default lainnya.
- Klik Create topic.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Jalankan perintah
gcloud pubsub topics create
:gcloud pubsub topics create TOPIC_ID\ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Dalam perintah, hanya
TOPIC_ID
, flag--cloud-storage-ingestion-bucket
, dan flag--cloud-storage-ingestion-input-format
yang diperlukan. Flag lainnya bersifat opsional dan dapat dihilangkan.Ganti kode berikut:
-
TOPIC_ID: Nama atau ID topik Anda.
-
BUCKET_NAME: Menentukan nama bucket yang ada. Contoh,
prod_bucket
. Nama bucket tidak boleh menyertakan project ID. Untuk membuat bucket, lihat Membuat bucket. -
INPUT_FORMAT: Menentukan format objek yang diserap. Ini dapat berupa
text
,avro
, ataupubsub_avro
. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Format input. -
TEXT_DELIMITER: Menentukan pemisah untuk memisahkan objek teks menjadi pesan Pub/Sub. Kolom ini harus berupa satu karakter dan hanya boleh ditetapkan jika
INPUT_FORMAT
adalahtext
. Nilai defaultnya adalah karakter baris baru (\n
).Saat menggunakan gcloud CLI untuk menentukan pemisah, perhatikan dengan cermat penanganan karakter khusus seperti baris baru
\n
. Gunakan format'\n'
untuk memastikan pemisah ditafsirkan dengan benar. Cukup menggunakan\n
tanpa tanda kutip atau hasil escape akan menghasilkan pemisah"n"
. -
MINIMUM_OBJECT_CREATE_TIME: Menentukan waktu minimum saat objek dibuat agar dapat ditransfer. Format ini harus dalam UTC dalam format
YYYY-MM-DDThh:mm:ssZ
. Misalnya,2024-10-14T08:30:30Z
.Tanggal apa pun, baik masa lalu maupun masa mendatang, dari
0001-01-01T00:00:00Z
hingga9999-12-31T23:59:59Z
inklusif, valid. -
MATCH_GLOB: Menentukan pola glob yang akan dicocokkan agar objek dapat ditransfer. Saat Anda menggunakan gcloud CLI, glob pencocokan dengan karakter
*
harus memiliki karakter*
yang diformat sebagai di-escape dalam bentuk\*\*.txt
atau seluruh glob pencocokan harus dalam tanda kutip"**.txt"
atau'**.txt'
. Untuk mengetahui informasi tentang sintaksis yang didukung untuk pola glob, lihat dokumentasi Cloud Storage.
-
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C++ Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js (TypeScript)
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Jika Anda mengalami masalah, lihat Memecahkan masalah topik impor Cloud Storage.
Mengedit topik impor Cloud Storage
Anda dapat mengedit topik impor Cloud Storage untuk memperbarui propertinya.
Misalnya, untuk memulai ulang penyerapan, Anda dapat mengubah bucket atau memperbarui waktu pembuatan objek minimum.
Untuk mengedit topik impor Cloud Storage, lakukan langkah-langkah berikut:
Konsol
-
Di konsol Google Cloud, buka halaman Topics.
-
Klik topik impor Cloud Storage.
-
Di halaman detail topik, klik Edit.
-
Perbarui kolom yang ingin diubah.
-
Klik Perbarui.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Agar tidak kehilangan setelan untuk topik impor, pastikan untuk menyertakan semuanya setiap kali Anda memperbarui topik. Jika Anda mengabaikan sesuatu, Pub/Sub akan mereset setelan ke nilai default aslinya.
Jalankan perintah
gcloud pubsub topics update
dengan semua flag yang disebutkan dalam contoh berikut:gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Ganti kode berikut:
-
TOPIC_ID adalah ID atau nama topik. Kolom ini tidak dapat diperbarui.
-
BUCKET_NAME: Menentukan nama bucket yang ada. Contoh,
prod_bucket
. Nama bucket tidak boleh menyertakan project ID. Untuk membuat bucket, lihat Membuat bucket. -
INPUT_FORMAT: Menentukan format objek yang diserap. Ini dapat berupa
text
,avro
, ataupubsub_avro
. Lihat Format input untuk mengetahui informasi selengkapnya tentang opsi ini. -
TEXT_DELIMITER: Menentukan pemisah untuk memisahkan objek teks menjadi pesan Pub/Sub. Kolom ini harus berupa satu karakter dan hanya boleh ditetapkan jika
INPUT_FORMAT
adalahtext
. Nilai defaultnya adalah karakter baris baru (\n
).Saat menggunakan gcloud CLI untuk menentukan pemisah, perhatikan dengan cermat penanganan karakter khusus seperti baris baru
\n
. Gunakan format'\n'
untuk memastikan pemisah ditafsirkan dengan benar. Cukup menggunakan\n
tanpa tanda kutip atau hasil escape akan menghasilkan pemisah"n"
. -
MINIMUM_OBJECT_CREATE_TIME: Menentukan waktu minimum saat objek dibuat agar dapat ditransfer. Format ini harus dalam UTC dalam format
YYYY-MM-DDThh:mm:ssZ
. Misalnya,2024-10-14T08:30:30Z
.Tanggal apa pun, baik masa lalu maupun masa mendatang, dari
0001-01-01T00:00:00Z
hingga9999-12-31T23:59:59Z
inklusif, valid. -
MATCH_GLOB: Menentukan pola glob yang akan dicocokkan agar objek dapat ditransfer. Saat Anda menggunakan gcloud CLI, glob pencocokan dengan karakter
*
harus memiliki karakter*
yang diformat sebagai di-escape dalam bentuk\*\*.txt
atau seluruh glob pencocokan harus dalam tanda kutip"**.txt"
atau'**.txt'
. Untuk mengetahui informasi tentang sintaksis yang didukung untuk pola glob, lihat dokumentasi Cloud Storage.
-
Kuota dan batas untuk topik impor Cloud Storage
Throughput penayang untuk topik impor dibatasi oleh kuota publikasi topik. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas Pub/Sub.
Langkah selanjutnya
Aktifkan log platform untuk topik impor Cloud Storage.
Pilih jenis langganan untuk topik Anda.
Pelajari cara memublikasikan pesan ke topik.