Topik Pub/Sub pada File Teks di Cloud Storage

Template Teks Pub/Sub ke Cloud Storage adalah pipeline streaming yang membaca kumpulan data dari topik 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 akan membuat file baru setiap 5 menit.

Persyaratan pipeline

  • Topik Pub/Sub harus 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>.
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.

Menjalankan template

Konsol

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

  5. Dari menu drop-down Dataflow template, pilih the Pub/Sub to Text Files on Cloud Storage template.
  6. Di kolom parameter yang disediakan, masukkan parameter value Anda.
  7. Opsional: Untuk beralih dari pemrosesan tepat satu kali ke mode streaming minimal satu kali, pilih Minimal Sekali.
  8. 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/Cloud_PubSub_to_GCS_Text \
    --region REGION_NAME \
    --staging-location STAGING_LOCATION \
    --parameters \
inputTopic=projects/PROJECT_ID/topics/TOPIC_NAME,\
outputDirectory=gs://BUCKET_NAME/output/,\
outputFilenamePrefix=output-,\
outputFilenameSuffix=.txt

Ganti kode berikut:

  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • STAGING_LOCATION: lokasi untuk staging file lokal (misalnya, gs://your-bucket/staging)
  • TOPIC_NAME: nama topik Pub/Sub Anda
  • BUCKET_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/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Cloud_PubSub_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "environment": {
       "ipConfiguration": "WORKER_IP_UNSPECIFIED",
       "additionalExperiments": []
    },
   "parameters": {
       "inputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME"
       "outputDirectory": "gs://BUCKET_NAME/output/",
       "outputFilenamePrefix": "output-",
       "outputFilenameSuffix": ".txt",
   }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • STAGING_LOCATION: lokasi untuk staging file lokal (misalnya, gs://your-bucket/staging)
  • TOPIC_NAME: nama topik Pub/Sub Anda
  • BUCKET_NAME: nama bucket Cloud Storage Anda

Langkah selanjutnya