Template ini membuat pipeline streaming yang terus-menerus melakukan polling untuk file teks baru yang diupload ke Cloud Storage, membaca setiap file baris demi baris, dan memublikasikan string ke topik Pub/Sub. Template ini memublikasikan data dalam file yang dibatasi baris baru berisi data JSON atau file CSV ke topik Pub/Sub untuk pemrosesan secara real-time. Anda dapat menggunakan template ini untuk memutar ulang data ke Pub/Sub.
Pipeline berjalan tanpa batas dan harus dihentikan secara manual melalui 'cancel', bukan 'drain', karena menggunakan transformasi 'Watch', yang merupakan 'SplittableDoFn' yang tidak mendukung penghentian bertahap.
Saat ini, interval polling ditetapkan dan disetel ke 10 detik. Template ini tidak menetapkan stempel waktu apa pun pada data individual, sehingga waktu peristiwa sama dengan waktu publikasi saat dieksekusi. Jika pipeline Anda bergantung pada waktu peristiwa yang akurat untuk pemrosesan, Anda sebaiknya tidak menggunakan pipeline ini.
Persyaratan pipeline
- File input harus dalam format JSON atau CSV yang dibatasi baris baru. Data yang mencakup beberapa baris dalam file sumber dapat menyebabkan masalah downstream, karena setiap baris dalam file dipublikasikan sebagai pesan ke Pub/Sub.
- Topik Pub/Sub harus ada sebelum eksekusi.
- Pipeline berjalan tanpa batas waktu dan harus dihentikan secara manual.
Parameter template
Parameter yang diperlukan
- inputFilePattern: Pola file input yang akan dibaca. Contoh,
gs://bucket-name/files/*.json
. - outputTopic: Topik input Pub/Sub yang akan ditulis. Nama harus dalam format
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. Misalnya,projects/your-project-id/topics/your-topic-name
.
Menjalankan template
Konsol
- Buka halaman Dataflow Create job from template. Buka Membuat tugas dari template
- Di kolom Nama tugas, masukkan nama tugas yang unik.
- Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region
default-nya adalah
us-central1
.Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.
- Dari menu drop-down Template Dataflow, pilih the Text Files on Cloud Storage to Pub/Sub (Stream) template.
- Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
- Opsional: Untuk beralih dari pemrosesan tepat satu kali ke mode streaming minimal satu kali, pilih Minimal Satu Kali.
- Klik Run job.
gcloud
Di shell atau terminal Anda, jalankan template:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Stream_GCS_Text_to_Cloud_PubSub \ --region REGION_NAME\ --staging-location STAGING_LOCATION\ --parameters \ inputFilePattern=gs://BUCKET_NAME/FILE_PATTERN,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME
Ganti kode berikut:
JOB_NAME
: nama tugas unik pilihan AndaREGION_NAME
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
STAGING_LOCATION
: lokasi untuk menyiapkan file lokal (misalnya,gs://your-bucket/staging
)TOPIC_NAME
: nama topik Pub/Sub AndaBUCKET_NAME
: nama bucket Cloud Storage AndaFILE_PATTERN
: glob pola file yang akan dibaca dari bucket Cloud Storage (misalnya,path/*.csv
)
API
Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. Untuk mengetahui informasi selengkapnya tentang
API dan cakupan otorisasinya, lihat
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Stream_GCS_Text_to_Cloud_PubSub { "jobName": "JOB_NAME", "environment": { "ipConfiguration": "WORKER_IP_UNSPECIFIED", "additionalExperiments": [] }, "parameters": { "inputFilePattern": "gs://BUCKET_NAME/FILE_PATTERN", "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME" } }
Ganti kode berikut:
PROJECT_ID
: ID Google Cloud project tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama tugas unik pilihan AndaLOCATION
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
STAGING_LOCATION
: lokasi untuk menyiapkan file lokal (misalnya,gs://your-bucket/staging
)TOPIC_NAME
: nama topik Pub/Sub AndaBUCKET_NAME
: nama bucket Cloud Storage AndaFILE_PATTERN
: glob pola file yang akan dibaca dari bucket Cloud Storage (misalnya,path/*.csv
)
Langkah berikutnya
- Pelajari template Dataflow.
- Lihat daftar template yang disediakan Google.