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.
Langganan Azure. Jika tidak memiliki langganan Azure, buat akun Azure gratis sebelum Anda memulai.
Hub IoT. Jika Anda tidak memiliki hub, Anda dapat mengikuti langkah-langkah untuk membuat hub IoT.
Sumber daya Azure Event Hubs (dengan kontainer). Jika Anda perlu membuat sumber daya Azure Event Hubs baru, lihat Mulai Cepat: Membuat hub peristiwa dengan menggunakan templat Resource Manager.
(Disarankan) Identitas terkelola dengan izin kontrol akses berbasis peran untuk namespace Layanan Pusat Aktivitas. Untuk informasi selengkapnya, lihat Mengautentikasi identitas terkelola dengan ID Microsoft Entra untuk mengakses sumber daya Azure Event Hubs.
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.
Di portal Microsoft Azure, buka IoT hub Anda. Di menu sumber daya di bawah Automation, pilih Ekspor templat.
Di Ekspor templat, pada tab Templat , selesaikan langkah-langkah berikut:
Lihat file JSON yang dihasilkan untuk hub IoT Anda.
Kosongkan kotak centang Sertakan parameter.
Pilih Unduh untuk mengunduh salinan lokal file JSON.
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.
Dalam file JSON, temukan
"endpoints": []
properti yang disarangkan di bawah"routing"
."endpoints": []
Ganti baris dengan JSON berikut:"endpoints": { "serviceBusQueues": [], "serviceBusTopics": [], "eventHubs": [ { "endpointUri": "", "entityPath": "", "authenticationType": "identityBased", "identity": { "userAssignedIdentity": "" }, "name": "", "id": "", "subscriptionId": "", "resourceGroup": "" } ], "storageContainers": [], "cosmosDBSqlContainers": [] },
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 formatsb://<eventhubs_namespace_name>.servicebus.windows.net
entityPath (Jika jenis autentikasi adalah identityBased
; jika tidak, hapus.) Nama pusat aktivitas Anda.authenticationType identityBased
ataukeyBased
. 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. Tip
Untuk manajemen rahasia, Anda dapat Membuat file parameter atau Menggunakan Azure Key Vault untuk meneruskan nilai parameter aman selama penyebaran.
Menambahkan rute ke templat
Tambahkan definisi rute ke templat Resource Manager Anda. Untuk informasi selengkapnya, lihat RouteProperties templat Azure Resource Manager.
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 } ],
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, ataufalse
untuk menonaktifkan rute.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 .
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.
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.