Bagikan melalui


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. IoT Hub mendukung layanan Azure berikut sebagai titik akhir:

  • Kontainer Storage
  • Event Hubs
  • Antrean Microsoft Azure Service Bus
  • Topik Microsoft Azure Service Bus
  • Cosmos DB

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 bukanlah masalah. 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 hub IoT yang ada, gunakan templat yang Anda ekspor dari hub IoT Anda untuk memastikan bahwa semua sumber daya dan properti yang ada tetap terhubung 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

Tinjau prasyarat untuk artikel ini berdasarkan jenis titik akhir yang ingin Anda rutekan pesannya.

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?

Membuat rute

Di IoT Hub, Anda dapat membuat rute untuk mengirim pesan atau mengambil 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 Bus Layanan, atau akun penyimpanan Azure untuk menjadi titik akhir untuk rute hub IoT Anda. Layanan yang Anda gunakan untuk membuat titik akhir harus terlebih dahulu ada di akun Azure Anda.

Mengekspor templat Resource Manager hub IoT Anda

Pertama, ekspor templat Resource Manager dari hub IoT Anda. Dengan mengekspor templat dari hub IoT, Anda dapat menambahkan titik akhir dan merutekan sumber daya dan menyebarkan ulang tanpa kehilangan pengaturan yang ada.

  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 ini 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 ada di atau ditumpuk di bawah routing.

Menambahkan titik akhir ke templat

Setiap rute menunjuk ke titik akhir, yang merupakan tempat pesan atau log peristiwa berakhir. Buat titik akhir di hub IoT yang dapat dirujuk oleh rute. Anda dapat menggunakan hub peristiwa, antrean atau topik Bus Layanan, akun penyimpanan Azure, atau kontainer Cosmos DB untuk menjadi titik akhir untuk rute hub IoT Anda. Layanan yang Anda gunakan untuk membuat titik akhir harus terlebih dahulu ada di akun Azure Anda.

Hub IoT Anda memerlukan izin akses untuk sumber daya titik akhir apa pun yang dikirimi pesan atau log. Anda dapat menyediakan akses dengan menggunakan identitas terkelola dan ID Microsoft Entra atau dengan menggunakan string koneksi. Microsoft merekomendasikan untuk mengautentikasi dengan ID Entra sebagai opsi yang lebih aman.

Tambahkan titik akhir Azure Event Hubs ke templat Resource Manager Anda. Untuk informasi selengkapnya, lihat Templat Azure Resource Manager RoutingEventHubProperties.

  1. Dalam file JSON, temukan "endpoints": [] properti yang disarangkan di bawah "routing".

  2. "endpoints": [] Ganti baris dengan JSON berikut:

    "endpoints": {
        "serviceBusQueues": [],
        "serviceBusTopics": [],
        "eventHubs": [
            {
                "endpointUri": "",
                "entityPath": "",
                "authenticationType": "identityBased",
                "identity": {
                    "userAssignedIdentity": ""
                },
                "name": "",
                "id": "",
                "subscriptionId": "",
                "resourceGroup": ""
            }
        ],
        "storageContainers": [],
        "cosmosDBSqlContainers": []
    },
    
  3. Perbarui JSON dengan informasi berikut tentang sumber daya Azure Event Hubs Anda:

    Properti Nilai
    endpointUri (Jika jenis autentikasi adalah identityBased; jika tidak, hapus.) Nama host namespace Layanan Pusat Aktivitas Anda dalam format sb://<eventhubs_namespace_name>.servicebus.windows.net
    entityPath (Jika jenis autentikasi adalah identityBased; jika tidak, hapus.) Nama pusat aktivitas Anda.
    authenticationType identityBased atau keyBased. Microsoft merekomendasikan autentikasi berbasis identitas sebagai opsi yang lebih aman.
    identitas (Jika jenis autentikasi adalah identityBased.) Anda dapat menggunakan identitas terkelola yang ditetapkan pengguna atau identitas terkelola yang ditetapkan sistem jika IoT Hub Anda mengaktifkan identitas terkelola yang ditetapkan sistem.

    Untuk pengguna yang ditetapkan: ID eksternal identitas terkelola dengan izin akses ke hub peristiwa Anda dalam format /subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>.

    Untuk yang ditetapkan sistem: Biarkan parameter identitas sebagai daftar kosong. Misalnya: "identity": {},
    connectionString (Jika jenis autentikasi adalah keyBased.) String koneksi utama dari salah satu kebijakan akses bersama hub peristiwa Anda dalam format <connection_string>;EntityPath=<event_hub_name>. Anda dapat mengambil nilai string koneksi dari portal Azure, lalu menambahkan jalur entitas.
    nama Berikan nilai unik untuk memberi nama titik akhir Anda.
    id Biarkan sebagai string kosong. Layanan Azure menyediakan nilai saat Anda membuat titik akhir.
    subscriptionId ID langganan yang berisi pusat aktivitas Anda.
    ResourceGroup Nama grup sumber daya yang berisi pusat aktivitas Anda.

Menambahkan rute ke templat

Tambahkan definisi rute ke templat Resource Manager Anda. Untuk informasi selengkapnya, lihat RouteProperties templat Azure Resource Manager.

  1. Dalam file JSON, temukan "routes": [] properti , berlapis di bawah "routing", dan tambahkan rute baru.

    Perhatian

    Jika Anda mengganti nilai yang sudah ada dengan "routes" 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.

    "routes": [
        {
            "name": "",
            "source": "DeviceConnectionStateEvents",
            "condition": "true",
            "endpointNames": [
                ""
            ],
            "isEnabled": true
        }
    ],
    
  2. Perbarui JSON dengan informasi berikut tentang sumber daya Cosmos DB Anda:

    Properti Nilai
    nama Berikan nilai unik untuk memberi nama rute Anda.
    sumber Pilih sumber log pesan atau peristiwa untuk dirutekan ke titik akhir. Untuk daftar opsi sumber, lihat rute hub az iot.
    kondisi Kueri untuk memfilter data sumber. Jika tidak ada kondisi yang diperlukan, katakan .true Untuk informasi selengkapnya, lihat Sintaks kueri perutean pesan IoT Hub.
    endpointNames Nama titik akhir yang ada tempat data ini akan dirutekan. Saat ini hanya satu titik akhir yang diizinkan.
    Diaktifkan Atur ke true untuk mengaktifkan rute, atau false untuk menonaktifkan rute.
  3. Simpan file JSON Anda.

Sebarkan 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 memerlukan nama file templat (alih-alih 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, Bus Layanan antrean dan topik, 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.