Template Teks Topik Pub/Sub atau Langganan ke Cloud Storage adalah pipeline streaming yang membaca kumpulan data dari Pub/Sub dan menyimpannya sebagai serangkaian file Cloud Storage dalam format teks. Template ini dapat digunakan sebagai cara cepat untuk menyimpan data di Pub/Sub untuk digunakan pada masa mendatang. Secara default, template ini akan membuat file baru setiap 5 menit.
Persyaratan pipeline
- Topik atau langganan Pub/Sub harus sudah ada sebelum dieksekusi.
- Pesan yang dipublikasikan ke topik harus dalam format teks.
- Pesan yang dipublikasikan ke topik tidak boleh berisi baris baru. Perhatikan bahwa setiap pesan Pub/Sub disimpan sebagai satu baris di file output.
Parameter template
Parameter | Deskripsi |
---|---|
inputTopic |
Topik Pub/Sub untuk membaca input. Nama topik harus dalam
format projects/<project-id>/topics/<topic-name> . Jika parameter ini
disediakan, inputSubscription tidak boleh diberikan. |
inputSubscription |
Langganan Pub/Sub untuk membaca input. Nama langganan harus
dalam format
projects/<project-id>/subscription/<subscription-name> . Jika parameter ini disediakan, inputTopic tidak boleh diberikan. |
outputDirectory |
Jalur dan awalan nama file untuk menulis file output. Misalnya gs://bucket-name/path/ . Nilai ini harus diakhiri dengan garis miring. |
outputFilenamePrefix |
Awalan yang akan ditempatkan pada setiap file berjendela. Misalnya, output- . |
outputFilenameSuffix |
Akhiran yang akan ditempatkan di setiap file yang memiliki jendela, biasanya ekstensi file seperti .txt atau .csv . |
outputShardTemplate |
Template shard menentukan bagian dinamis dari setiap file berjendela. Secara default, pipeline menggunakan satu shard untuk output ke sistem file di dalam setiap jendela. Artinya, semua output data menjadi satu file per jendela. Secara default, outputShardTemplate
adalah W-P-SS-of-NN dengan W adalah rentang tanggal periode,
P adalah info panel, S adalah nomor shard, dan N adalah
jumlah shard. Untuk kasus tunggal, bagian SS-of-NN dari outputShardTemplate adalah 00-of-01 .
|
windowDuration |
(Opsional) Durasi jendela adalah interval saat data ditulis ke direktori output. Konfigurasikan durasi berdasarkan throughput pipeline. Misalnya, throughput yang lebih tinggi mungkin memerlukan ukuran jendela yang lebih kecil agar data sesuai dengan memori. Defaultnya adalah 5 m, dengan minimum 1 dtk. Format yang diizinkan adalah: [int]s (untuk detik, contoh: 5s), [int]m (untuk menit, contoh: 12m), [int]h (untuk jam, contoh: 2h). |
Menjalankan template
Konsol
- Buka halaman Create job from template Dataflow. Buka Buat tugas dari template
- Di kolom Job name, masukkan nama pekerjaan yang unik.
- Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region
default-nya adalah
us-central1
.Untuk daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.
- Dari menu drop-down Dataflow template, pilih the Pub/Sub Topic or Subscription to Text Files on Cloud Storage template.
- Di kolom parameter yang disediakan, masukkan parameter value Anda.
- Klik Run job.
gcloud
Di shell atau terminal Anda, jalankan template:
gcloud dataflow flex-template run JOB_NAME \ --project=YOUR_PROJECT_ID \ --region REGION_NAME \ --template-file-gcs-location gs://dataflow-templates-REGION_NAME/VERSION/flex/Cloud_PubSub_to_GCS_Text_Flex \ --parameters \ inputSubscription=projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME,\ outputDirectory=gs://BUCKET_NAME/output/,\ outputFilenamePrefix=output-,\ outputFilenameSuffix=.txt
Ganti kode berikut:
JOB_NAME
: nama pekerjaan unik pilihan AndaREGION_NAME
: region tempat Anda ingin men-deploy tugas Dataflow, misalnyaus-central1
VERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan versi terbaru template, yang tersedia di folder induk tidak bertanggal di bucket— gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi template tertentu, yang dapat ditemukan bertingkat di folder induk bertanggal masing-masing dalam bucket— gs://dataflow-templates-REGION_NAME/
SUBSCRIPTION_NAME
: nama langganan Pub/Sub AndaBUCKET_NAME
: nama bucket Cloud Storage Anda
API
Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. Untuk informasi selengkapnya tentang API dan cakupan otorisasinya, lihat projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputSubscription": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME" "outputDirectory": "gs://BUCKET_NAME/output/", "outputFilenamePrefix": "output-", "outputFilenameSuffix": ".txt", }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/Cloud_PubSub_to_GCS_Text_Flex", } }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama pekerjaan unik pilihan AndaLOCATION
: region tempat Anda ingin men-deploy tugas Dataflow, misalnyaus-central1
VERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan versi terbaru template, yang tersedia di folder induk tidak bertanggal di bucket— gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi template tertentu, yang dapat ditemukan bertingkat di folder induk bertanggal masing-masing dalam bucket— gs://dataflow-templates-REGION_NAME/
SUBSCRIPTION_NAME
: nama langganan Pub/Sub AndaBUCKET_NAME
: nama bucket Cloud Storage Anda
Langkah selanjutnya
- Pelajari Template Dataflow.
- Lihat daftar template yang disediakan Google.