Template JMS to Pub/Sub adalah pipeline streaming yang membaca pesan dari Server JMS Active MQ (Antrean/Topik) dan menulisnya ke Pub/Sub.
Persyaratan Pipeline
- Nama topik output Pub/Sub harus ada.
- IP host JMS harus ada dan memiliki konfigurasi jaringan yang tepat agar VM pekerja Dataflow dapat menjangkau host JMS.
- Topik/antrean JMS tempat data diekstrak harus memiliki nama.
Parameter template
Parameter yang diperlukan
- inputName : Nama topik atau antrean JMS tempat data dibaca. (Contoh: antrean).
- inputType : Jenis tujuan JMS untuk membaca data. Dapat berupa antrean atau topik. (Contoh: antrean).
- outputTopic : Nama topik Pub/Sub tempat data akan dipublikasikan, dalam format
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. (Contoh: projects/your-project-id/topics/your-topic-name). - username : Nama pengguna yang akan digunakan untuk autentikasi di server JMS. (Contoh: sampleusername).
- password : Sandi yang terkait dengan nama pengguna yang diberikan. (Contoh: samplepassword).
Parameter opsional
- jmsServer : IP Server JMS (ActiveMQ). (Contoh: tcp://10.0.0.1:61616).
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 JMS to Pub/Sub template.
- Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
- Klik Run job.
gcloud
Di shell atau terminal, 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/JMS_to_Cloud_PubSub \ --parameters \ jmsServer=JMS_SERVER,\ inputName=INPUT_NAME,\ inputType=INPUT_TYPE,\ outputTopic=OUTPUT_TOPIC,\ username=USERNAME,\ password=PASSWORD
Anda harus mengganti nilai berikut dalam contoh ini:
- Ganti YOUR_PROJECT_ID dengan project ID Anda.
- Ganti dengan nama region Dataflow. Contoh:
us-central1
. - Ganti JOB_NAME dengan nama tugas pilihan Anda. Nama tugas harus cocok dengan ekspresi reguler
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
agar valid. - Ganti JMS_SERVER dengan alamat server JMS. Contoh:
tcp://10.0.0.0:61616
- Ganti INPUT_NAME dengan nama topik/antrean input server JMS. Contoh:
testtopic
. - Ganti INPUT_TYPE dengan Jenis Tujuan server JMS(antrean/topik). Contoh:
topic
- Ganti OUTPUT_TOPIC dengan nama topik output Pub/Sub. Contoh:
projects/myproject/topics/testoutput
. - Ganti USERNAME dengan nama pengguna untuk server JMS. Contoh:
testuser
. - Ganti PASSWORD dengan sandi yang sesuai dengan nama pengguna yang digunakan dengan server JMS.
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/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "jmsServer": "JMS_SERVER", "inputName": "INPUT_NAME", "inputType": "INPUT_TYPE", "outputTopic": "OUTPUT_TOPIC", "username": "USERNAME", "password": "PASSWORD" }, "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/VERSION/flex/JMS_to_Cloud_PubSub", } }
Anda harus mengganti nilai berikut dalam contoh ini:
- Ganti YOUR_PROJECT_ID dengan project ID Anda.
- Ganti dengan nama region Dataflow. Contoh:
us-central1
. - Ganti JOB_NAME dengan nama tugas pilihan Anda. Nama tugas harus cocok dengan ekspresi reguler
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
agar valid. - Ganti JMS_SERVER dengan alamat server JMS. Contoh:
tcp://10.0.0.0:61616
- Ganti INPUT_NAME dengan nama topik/antrean input server JMS. Contoh:
testtopic
. - Ganti INPUT_TYPE dengan Jenis Tujuan server JMS(antrean/topik). Contoh:
topic
- Ganti OUTPUT_TOPIC dengan nama topik output Pub/Sub. Contoh:
projects/myproject/topics/testoutput
. - Ganti USERNAME dengan nama pengguna untuk server JMS. Contoh:
testuser
. - Ganti PASSWORD dengan sandi yang sesuai dengan nama pengguna yang digunakan dengan server JMS.
Langkah selanjutnya
- Pelajari template Dataflow.
- Lihat daftar template yang disediakan Google.