Template MQTT ke Pub/Sub adalah pipeline streaming yang membaca pesan dari topik MQTT dan menulisnya ke Pub/Sub.
Ini mencakup parameter opsional username
dan password
jika autentikasi diperlukan oleh server MQTT.
Persyaratan Pipeline
- Nama topik output Pub/Sub harus ada.
- IP host MQTT harus ada dan memiliki konfigurasi jaringan yang tepat agar mesin pekerja dapat mencapai host MQTT.
- Topik MQTT tempat data yang diekstrak harus memiliki nama.
Parameter template
Parameter | Deskripsi |
---|---|
brokerServer |
IP atau host server perantara MQTT. Misalnya, tcp://10.0.0.1:1883 . |
inputTopic |
Nama topik MQTT tempat data dibaca. |
outputTopic |
Nama topik Pub/Sub output tempat data ditulis. |
username |
(Opsional) Nama pengguna yang akan digunakan untuk autentikasi di server MQTT. |
password |
(Opsional) Sandi yang terkait dengan nama pengguna yang diberikan. |
Menjalankan template
Konsol
- Buka halaman Create job from template Dataflow. Buka Buat tugas dari template
- Di kolom Job name, masukkan nama pekerjaan yang unik.
- 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.
- Dari menu drop-down Dataflow template, pilih MQTT to Pub/Sub template.
- Di kolom parameter yang disediakan, masukkan parameter value Anda.
- Klik Run job.
gcloud
Di shell atau terminal Anda, 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/MQTT_To_Pubsub \ --parameters \ brokerServer=MQTT_SERVER,\ inputTopic=INPUT_TOPIC,\ outputTopic=OUTPUT_TOPIC,\ username=USERNAME,\ password=PASSWORD
Anda harus mengganti nilai-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 pekerjaan pilihan Anda. Nama tugas harus cocok dengan ekspresi reguler
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
agar valid. - Ganti INPUT_TOPIC dengan nama topik input server MQTT. Contoh:
testtopic
. - Ganti MQTT_SERVER dengan alamat server MQTT. Contoh:
tcp://10.128.0.62:1883
- Ganti OUTPUT_TOPIC dengan nama topik output Pub/Sub. Contoh:
projects/myproject/topics/testoutput
. - Ganti USERNAME dengan nama pengguna untuk server MQTT. Contoh:
testuser
. - Ganti PASSWORD dengan sandi yang sesuai dengan nama pengguna yang digunakan di server MQTT.
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/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "brokerServer": "MQTT_SERVER", "inputTopic": "INPUT_TOPIC", "outputTopic": "OUTPUT_TOPIC", "username": "USERNAME", "password": "PASSWORD" }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/MQTT_To_Pubsub", } }
Anda harus mengganti nilai-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 pekerjaan pilihan Anda. Nama tugas harus cocok dengan ekspresi reguler
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
agar valid. - Ganti INPUT_TOPIC dengan nama topik input server MQTT. Contoh:
testtopic
. - Ganti MQTT_SERVER dengan alamat server MQTT. Contoh:
tcp://10.128.0.62:1883
- Ganti OUTPUT_TOPIC dengan nama topik output Pub/Sub. Contoh:
projects/myproject/topics/testoutput
. - Ganti USERNAME dengan nama pengguna untuk server MQTT. Contoh:
testuser
. - Ganti PASSWORD dengan sandi yang sesuai dengan nama pengguna yang digunakan di server MQTT.
Langkah selanjutnya
- Pelajari Template Dataflow.
- Lihat daftar template yang disediakan Google.