Template Teks Cloud Storage ke Pub/Sub (Batch)

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

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Nama tugas, masukkan nama tugas yang unik.
  4. 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.

  5. Dari menu drop-down Dataflow template, pilih the Text Files on Cloud Storage to Pub/Sub (Batch) template.
  6. Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
  7. 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 Dataflow
  • JOB_NAME: nama tugas unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • TOPIC_NAME: nama topik Pub/Sub Anda
  • BUCKET_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 Dataflow
  • JOB_NAME: nama tugas unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • TOPIC_NAME: nama topik Pub/Sub Anda
  • BUCKET_NAME: nama bucket Cloud Storage Anda

Langkah selanjutnya