MQTT ke template Pub/Sub

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

  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 MQTT to Pub/Sub template.
  6. Di kolom parameter yang disediakan, masukkan parameter value Anda.
  7. 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