Template ini membuat pipeline batch yang membaca data dari file teks yang disimpan di Cloud Storage dan memublikasikannya ke topik Pub/Sub. Template ini dapat digunakan untuk memublikasikan data dalam file yang dibatasi baris baru yang 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.
Template ini tidak menetapkan stempel waktu apa pun pada data individual. Waktu peristiwa sama dengan waktu publikasi selama eksekusi. Jika pipeline Anda bergantung pada waktu peristiwa yang akurat untuk pemrosesan, Anda tidak boleh menggunakan pipeline ini.
Persyaratan pipeline
- File yang akan dibaca 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 akan dipublikasikan sebagai pesan ke Pub/Sub.
- Topik Pub/Sub harus ada sebelum menjalankan pipeline.
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>
. (Contoh: projects/your-project-id/topics/your-topic-name).
Menjalankan template
Konsol
- Buka halaman Create job from template Dataflow. Buka Buat tugas dari template
- Di kolom Nama tugas, masukkan nama tugas yang unik.
- Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region defaultnya
adalah
us-central1
.Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.
- Dari menu drop-down Dataflow template, pilih the Text Files on Cloud Storage to Pub/Sub (Batch) template.
- Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
- Klik Run job.
gcloud
Di shell atau terminal, jalankan template:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Text_to_Cloud_PubSub \ --region REGION_NAME \ --parameters \ inputFilePattern=gs://BUCKET_NAME/files/*.json,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama tugas unik pilihan AndaVERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan template versi terbaru, yang tersedia di folder induk tanpa tanggal 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 dalam folder induk bertanggal masing-masing di bucket—gs://dataflow-templates-REGION_NAME/
REGION_NAME
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
TOPIC_NAME
: nama topik Pub/Sub AndaBUCKET_NAME
: nama bucket Cloud Storage Anda
API
Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. 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/GCS_Text_to_Cloud_PubSub { "jobName": "JOB_NAME", "parameters": { "inputFilePattern": "gs://BUCKET_NAME/files/*.json", "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME" }, "environment": { "zone": "us-central1-f" } }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama tugas unik pilihan AndaVERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan template versi terbaru, yang tersedia di folder induk tanpa tanggal 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 dalam folder induk bertanggal masing-masing di bucket—gs://dataflow-templates-REGION_NAME/
LOCATION
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
TOPIC_NAME
: nama topik Pub/Sub AndaBUCKET_NAME
: nama bucket Cloud Storage Anda
Langkah selanjutnya
- Pelajari template Dataflow.
- Lihat daftar template yang disediakan Google.