Membuat dan menghapus rute dan titik akhir dengan menggunakan Azure Resource Manager

Artikel ini memperlihatkan kepada Anda cara mengekspor templat Azure IoT Hub Anda, menambahkan rute ke hub IoT Anda, lalu menyebarkan ulang templat ke hub IoT Anda dengan menggunakan Azure CLI atau Azure PowerShell. Gunakan templat Azure Resource Manager untuk membuat rute dan titik akhir untuk antrean dan topik Azure Event Hubs, Azure Service Bus, dan Azure Storage.

Templat Azure Resource Manager berguna saat Anda ingin menentukan sumber daya dengan menggunakan file JSON. Setiap sumber daya Azure memiliki templat yang menentukan komponen yang digunakan dalam sumber daya tersebut. Anda dapat mengekspor semua templat sumber daya Azure.

Penting

Saat Anda menggunakan templat Resource Manager untuk menyebarkan sumber daya, templat menggantikan sumber daya yang ada dari jenis yang Anda sebarkan.

Saat Anda membuat hub IoT baru, menimpa sumber daya yang disebarkan yang ada tidak menjadi perhatian. Untuk membuat hub IoT baru, Anda dapat menggunakan templat dasar yang memiliki properti yang diperlukan alih-alih mengekspor templat yang ada dari hub IoT yang sudah disebarkan.

Namun, jika Anda menambahkan rute ke templat Resource Manager hub IoT yang ada, gunakan templat yang Anda ekspor dari hub IoT Anda untuk memastikan bahwa semua sumber daya dan properti yang ada tetap tersambung setelah Anda menyebarkan templat yang diperbarui. Sumber daya yang sudah disebarkan tidak akan diganti. Misalnya, templat Resource Manager yang diekspor yang sebelumnya Anda sebarkan mungkin berisi informasi penyimpanan untuk hub IoT Anda jika Anda telah menyambungkannya ke penyimpanan.

Untuk mempelajari selengkapnya tentang cara kerja perutean di IoT Hub, lihat Menggunakan perutean pesan IoT Hub untuk mengirim pesan perangkat ke cloud ke titik akhir yang berbeda. Untuk menelusuri langkah-langkah untuk menyiapkan rute yang mengirim pesan ke penyimpanan lalu menguji pada perangkat yang disimulasikan, lihat Tutorial: Mengirim data perangkat ke Azure Storage dengan menggunakan perutean pesan IoT Hub.

Prasyarat

Prosedur yang dijelaskan dalam artikel menggunakan sumber daya berikut:

  • Template Azure Resource Manager
  • Sebuah hub IoT
  • Layanan titik akhir di Azure

Templat Azure Resource Manager

Artikel ini menggunakan templat Azure Resource Manager di portal Azure untuk bekerja dengan IoT Hub dan layanan Azure lainnya. Untuk mempelajari selengkapnya tentang cara menggunakan templat Resource Manager, lihat Apa itu templat Azure Resource Manager?

IoT hub

Untuk membuat rute hub IoT, Anda memerlukan hub IoT yang Anda buat dengan menggunakan Azure IoT Hub. Pesan perangkat dan log peristiwa berasal dari hub IoT Anda.

Pastikan untuk memiliki sumber daya hub berikut untuk digunakan saat Anda membuat rute hub IoT Anda:

Layanan titik akhir

Untuk membuat rute hub IoT, Anda memerlukan setidaknya satu layanan Azure lainnya untuk digunakan sebagai titik akhir ke rute. Titik akhir menerima pesan perangkat dan log peristiwa. Anda dapat memilih layanan Azure mana yang Anda gunakan untuk titik akhir untuk terhubung dengan rute hub IoT Anda: Azure Event Hubs, antrean atau topik Azure Service Bus, atau Azure Storage.

Pastikan untuk memiliki salah satu sumber daya berikut untuk digunakan saat Anda membuat titik akhir rute hub IoT Anda:

Membuat rute

Di IoT Hub, Anda dapat membuat rute untuk mengirim pesan atau menangkap peristiwa. Setiap rute memiliki sumber data dan titik akhir. Sumber data adalah tempat asal pesan atau log peristiwa. Titik akhir adalah tempat pesan atau log peristiwa berakhir. Anda memilih lokasi untuk sumber data dan titik akhir saat membuat rute baru di hub IoT Anda. Kemudian, Anda menggunakan kueri perutean untuk memfilter pesan atau peristiwa sebelum masuk ke titik akhir.

Anda dapat menggunakan hub peristiwa, antrean atau topik Azure Service Bus, atau akun penyimpanan Azure untuk menjadi titik akhir untuk rute hub IoT Anda. Layanan yang Anda gunakan untuk membuat titik akhir harus ada terlebih dahulu di akun Azure Anda.

Mengekspor templat Resource Manager dari hub IoT Anda

Pertama, ekspor templat Resource Manager dari hub IoT Anda, lalu tambahkan rute ke dalamnya.

  1. Di portal Microsoft Azure, buka IoT hub Anda. Di menu sumber daya di bawah Automation, pilih Ekspor templat.

    Cuplikan layar yang memperlihatkan lokasi opsi Ekspor templat di menu sumber daya IoT Hub.

  2. Di Ekspor templat, pada tab Templat , selesaikan langkah-langkah berikut:

    1. Lihat file JSON yang dihasilkan untuk hub IoT Anda.

    2. Kosongkan kotak centang Sertakan parameter .

    3. Pilih Unduh untuk mengunduh salinan lokal file JSON.

    Cuplikan layar yang memperlihatkan lokasi tombol Unduh pada panel Ekspor templat.

    Templat memiliki beberapa tempat penampung yang dapat Anda gunakan untuk menambahkan fitur atau layanan ke hub IoT Anda. Untuk artikel ini, tambahkan nilai hanya ke properti yang berada di atau berlapis di bawah routing.

Menambahkan titik akhir baru ke templat Resource Manager Anda

Dalam file JSON, temukan "endpoints": [] properti yang berlapis di bawah "routing". Selesaikan langkah-langkah untuk menambahkan titik akhir baru berdasarkan layanan Azure yang Anda pilih untuk titik akhir: Azure Event Hubs, antrean atau topik Azure Service Bus, atau Azure Storage.

Untuk mempelajari cara membuat sumber daya Azure Event Hubs (dengan kontainer), lihat Mulai Cepat: Membuat hub peristiwa dengan menggunakan templat Resource Manager.

Di portal Azure, dapatkan string koneksi utama dari sumber daya Azure Event Hubs Anda. Pada panel Kebijakan akses bersama sumber daya, pilih salah satu kebijakan Anda untuk melihat informasi kunci dan string koneksi. Tambahkan nama pusat aktivitas Anda ke jalur entitas di akhir string koneksi. Misalnya, gunakan ;EntityPath=my-event-hubs. Nama ini adalah nama pusat aktivitas Anda, bukan nama namespace Layanan Anda.

Untuk name, gunakan nilai unik untuk titik akhir Azure Event Hubs Anda. id Biarkan parameter sebagai string kosong. Layanan Azure menyediakan id nilai saat Anda menyebarkan titik akhir.

"routing": {
   "endpoints": {
      "serviceBusQueues": [],
      "serviceBusTopics": [],
      "eventHubs": [
            {
               "connectionString": "my Event Hubs connection string + entity path",
               "authenticationType": "keyBased",
               "name": "my-event-hubs-endpoint",
               "id": "",
               "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
               "resourceGroup": "my-resource-group"
            }
      ],
      "storageContainers": [],
      "cosmosDBSqlCollections": []
   },
},

Menambahkan rute baru ke templat Resource Manager Anda

Dalam file JSON, temukan "routes": [] properti , berlapis di bawah "routing", dan tambahkan rute baru berikut, sesuai dengan layanan titik akhir yang Anda pilih: Azure Event Hubs, antrean atau topik Azure Service Bus, atau Azure Storage.

Rute fallback default mengumpulkan pesan dari DeviceMessages. Pilih opsi yang berbeda, seperti DeviceConnectionStateEvents. Untuk informasi selengkapnya tentang opsi sumber, lihat rute hub az iot.

Perhatian

Jika Anda mengganti nilai yang ada untuk "routes" dengan nilai rute yang digunakan dalam contoh kode berikut, rute yang ada akan dihapus saat Anda menyebarkan. Untuk mempertahankan rute yang ada, tambahkan objek rute baru ke "routes" daftar.

Untuk informasi selengkapnya tentang templat, lihat Definisi sumber daya templat Azure Resource Manager.

"routes": [
    {
        "name": "MyIotHubRoute",
        "source": "DeviceConnectionStateEvents",
        "condition": "true",
        "endpointNames": [
        "my-event-hubs-endpoint"
        ],
        "isEnabled": true
    }
],

Simpan file JSON Anda.

Menyebarkan templat Azure Resource Manager

Dengan titik akhir dan rute baru yang ditambahkan ke templat Resource Manager, Anda sekarang dapat menyebarkan file JSON kembali ke hub IoT Anda.

Penyebaran lokal

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "my\path\to\template.json"

Penyebaran Azure Cloud Shell

Karena Azure Cloud Shell berjalan di browser web, Anda dapat mengunggah file templat sebelum menjalankan perintah penyebaran. Dengan file yang diunggah, Anda hanya perlu nama file templat (bukan seluruh jalur file) untuk digunakan dalam template-file parameter .

Cuplikan layar yang memperlihatkan lokasi tombol di Azure Cloud Shell untuk mengunggah file.

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "template.json"

Catatan

Jika penyebaran gagal, gunakan tombol -verbose untuk mendapatkan informasi tentang sumber daya yang Anda buat. Gunakan tombol -debug untuk mendapatkan informasi lebih lanjut tentang penelusuran kesalahan.

Mengonfirmasi penerapan

Untuk mengonfirmasi bahwa templat Anda berhasil disebarkan ke Azure, di portal Azure, buka sumber daya grup sumber daya Anda. Di menu sumber daya di bawah Pengaturan, pilih Penyebaran untuk melihat templat dalam daftar penyebaran Anda.

Cuplikan layar yang memperlihatkan daftar penyebaran untuk sumber daya di portal Azure, dengan templat pengujian disorot.

Untuk melihat rute baru Anda di portal Azure, buka sumber daya IoT Hub Anda. Pada panel Perutean pesan , pada tab Rute , konfirmasikan bahwa rute Anda tercantum.

Langkah berikutnya

Dalam artikel panduan ini, Anda mempelajari cara membuat rute dan titik akhir untuk Azure Event Hubs, antrean dan topik Azure Service Bus, dan Azure Storage.

Untuk mempelajari selengkapnya tentang perutean pesan, lihat Tutorial: Mengirim data perangkat ke Azure Storage dengan menggunakan perutean pesan IoT Hub. Dalam tutorial, Anda membuat rute penyimpanan dan mengujinya dengan perangkat di hub IoT Anda.