Tutorial: Mengirim data perangkat ke Azure Storage menggunakan perutean pesan IoT Hub

Gunakan perutean pesan di Azure IoT Hub untuk mengirim data telemetri dari perangkat IoT Anda ke layanan Azure seperti penyimpanan blob, Antrean Bus Layanan, Topik Bus Layanan, dan Pusat Aktivitas. Setiap IoT hub memiliki titik akhir bawaan default yang kompatibel dengan Azure Event Hubs. Anda juga dapat membuat titik akhir kustom dan merutekan pesan ke layanan Azure lainnya dengan menentukan kueri perutean. Setiap pesan yang tiba di IoT hub dirutekan ke semua titik akhir yang kueri peruteannya cocok. Jika pesan tidak cocok dengan kueri perutean yang ditentukan, pesan dirutekan ke titik akhir default.

Dalam tutorial ini, Anda melakukan tugas berikut:

  • Buat IoT hub dan kirim pesan perangkat ke dalamnya.
  • Membuat akun penyimpanan.
  • Buat titik akhir kustom untuk akun penyimpanan dan rutekan pesan ke dalamnya dari IoT hub.
  • Lihat pesan perangkat di blob akun penyimpanan.

Prasyarat

  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

  • IoT Hub di langganan Azure Anda. Jika belum memiliki hub, Anda dapat mengikuti langkah-langkah di Membuat IoT hub.

  • Tutorial ini menggunakan kode sampel dari Azure IoT SDK untuk C#.

    • Unduh atau kloning repositori SDK ke komputer pengembangan Anda.
    • Memiliki .NET Core SDK 3.0.0 atau yang lebih baru di mesin pengembangan Anda. Periksa versi Anda dengan menjalankan dotnet --version dan Unduh .NET jika perlu.
  • Pastikan port 8883 terbuka di firewall Anda. Sampel dalam tutorial ini menggunakan protokol MQTT, yang berkomunikasi melalui port 8883. Port ini dapat diblokir di beberapa lingkungan jaringan perusahaan dan pendidikan. Untuk informasi selengkapnya dan cara mengatasi masalah ini, lihat Menyambungkan ke Azure IoT Hub (MQTT).

  • Secara opsional, instal Azure IoT Explorer. Alat ini membantu Anda mengamati pesan saat tiba di IoT hub Anda. Artikel ini menggunakan Azure IoT Explorer.

Tidak ada prasyarat lain untuk portal Azure.

Mendaftarkan perangkat dan mengirim pesan ke IoT Hub

Daftarkan perangkat baru di IoT hub Anda.

  1. Masuk ke portal Azure dan navigasikan ke IoT hub Anda.

  2. Pilih Perangkat dari bagian Manajemen perangkat pada menu.

  3. Pilih Tambahkan perangkat.

    Screenshot that shows adding a new device in the Azure portal.

  4. Berikan ID perangkat dan pilih Simpan.

  5. Perangkat baru seharusnya ada dalam daftar perangkat sekarang. Jika tidak, refresh halaman. Pilih ID perangkat untuk membuka halaman detail perangkat.

  6. Salin salah satu kunci perangkat dan simpan. Anda akan menggunakan nilai ini untuk mengonfigurasi kode sampel yang menghasilkan pesan telemetri perangkat yang disimulasikan.

    Screenshot that shows copying the primary key from the device details page.

Sekarang setelah Anda memiliki ID dan kunci perangkat, gunakan kode sampel untuk mulai mengirim pesan telemetri perangkat ke IoT Hub.

Tip

Jika Anda mengikuti langkah-langkah Azure CLI untuk tutorial ini, jalankan kode sampel dalam sesi terpisah. Dengan demikian, Anda dapat mengizinkan kode sampel untuk terus berjalan saat Anda mengikuti langkah-langkah CLI lainnya.

  1. Jika Anda tidak sebagai bagian dari prasyarat, unduh atau kloning azure IoT SDK untuk repo C# dari GitHub sekarang.

  2. Dari folder tempat Anda mengunduh atau mengkloning SDK, navigasikan ke azure-iot-sdk-csharp\iothub\device\samples\how to guides\HubRoutingSample folder .

  3. Instal Azure IoT C# SDK dan dependensi yang diperlukan seperti yang ditentukan dalam file HubRoutingSample.csproj:

    dotnet restore
    
  4. Di editor pilihan Anda, buka file Parameters.cs. File ini menampilkan parameter yang didukung oleh sampel. Hanya parameter yang PrimaryConnectionString akan digunakan dalam artikel ini saat menjalankan sampel. Tinjau kode dalam file ini. Tidak diperlukan perubahan.

  5. Buat dan jalankan kode sampel menggunakan perintah berikut:

    Ganti <myDevicePrimaryConnectionString> dengan string koneksi utama dari perangkat Anda di hub IoT Anda.

    dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>
    
  6. Anda akan mulai melihat pesan yang dicetak ke output saat dikirim ke IoT Hub. Biarkan program ini berjalan selama tutorial.

Mengonfigurasi IoT Explorer untuk melihat pesan

Konfigurasikan IoT Explorer untuk menyambungkan ke IoT hub Anda dan membaca pesan saat tiba di titik akhir bawaan.

Pertama, ambil string koneksi untuk IoT hub Anda.

  1. Di portal Azure, navigasi ke hub IoT Anda.

  2. Pilih Kebijakan akses bersama dari bagian Pengaturan keamanan pada menu.

  3. Pilih kebijakan iothubowner.

    Open the iothubowner shared access policy.

  4. Salin String koneksi utama.

    Copy the iothubowner primary connection string.

Sekarang, gunakan string koneksi tersebut untuk mengonfigurasi IoT Explorer untuk IoT hub Anda.

  1. Buka IoT Explorer di mesin pengembangan Anda.

  2. Pilih Tambahkan koneksi.

    Screenshot that shows adding an IoT hub connection in IoT Explorer.

  3. Tempelkan string koneksi hub Anda ke dalam kotak teks.

  4. Pilih Simpan.

  5. Setelah tersambung ke IoT hub, Anda akan melihat daftar perangkat. Pilih ID perangkat yang Anda buat untuk tutorial ini.

  6. Pilih Telemetri.

  7. Dengan perangkat Anda masih berjalan, pilih Mulai. Jika perangkat Anda tidak berjalan, Anda tidak akan melihat telemetri.

    Start monitoring device telemetry in IoT Explorer.

  8. Anda akan melihat pesan yang tiba dari perangkat Anda, dengan yang terbaru ditampilkan di bagian atas.

    View messages arriving at IoT hub on the built-in endpoint.

    Tonton pesan masuk selama beberapa saat untuk memverifikasi bahwa Anda melihat tiga jenis pesan yang berbeda: normal, penyimpanan, dan penting. Setelah melihat ini, Anda dapat menghentikan perangkat Anda.

Semua pesan ini tiba di titik akhir bawaan default untuk IoT hub Anda. Di bagian berikutnya, kita akan membuat titik akhir kustom dan merutekan beberapa pesan ini ke penyimpanan berdasarkan properti pesan. Pesan tersebut akan berhenti muncul di IoT Explorer karena pesan hanya masuk ke titik akhir bawaan saat tidak cocok dengan rute lain di IoT hub.

Menyiapkan perutean pesan

Anda akan merutekan pesan ke sumber daya yang berbeda berdasarkan properti yang dilampirkan ke pesan oleh simulasi perangkat. Pesan yang tidak dirutekan secara kustom dikirim ke titik akhir default (pesan/kejadian).

Aplikasi sampel untuk tutorial ini menetapkan properti tingkat untuk setiap pesan yang dikirimnya ke IoT hub. Setiap pesan secara acak ditetapkan ke tingkat normal, penyimpanan, atau penting.

Langkah pertama adalah menyiapkan titik akhir tempat data akan dirutekan. Langkah kedua adalah menyiapkan rute pesan yang menggunakan titik akhir tersebut. Setelah menyiapkan perutean, Anda dapat melihat titik akhir dan rute pesan di portal.

Buat akun penyimpanan

Buat akun Azure Storage dan kontainer dalam akun tersebut, yang akan menyimpan pesan perangkat yang dirutekan ke akun tersebut.

  1. Buka portal Azure, dan cari Akun penyimpanan.

  2. Pilih Buat.

  3. Berikan nilai berikut untuk akun penyimpanan Anda:

    Parameter Nilai
    Langganan Pilih langganan yang sama yang berisi IoT hub Anda.
    Grup sumber daya Pilih grup sumber daya yang sama yang berisi IoT hub Anda.
    Nama akun penyimpanan Masukkan nama yang unik secara global untuk akun penyimpanan Anda.
    Performa Terima nilai Standar default.

    Screenshot that shows creating a storage account.

  4. Anda dapat menerima semua nilai default lainnya dengan memilih Tinjau + buat.

  5. Setelah validasi selesai, pilih Buat.

  6. Setelah penyebaran selesai, pilih Buka sumber daya.

  7. Di menu akun penyimpanan, pilih Kontainer dari bagian Penyimpanan data.

  8. Pilih + Kontainer untuk membuat kontainer baru.

    Screenshot that shows creating a storage container

  9. Beri nama untuk kontainer Anda dan pilih Buat.

Merutekan ke akun penyimpanan

Sekarang siapkan perutean untuk akun penyimpanan. Di bagian ini Anda menentukan titik akhir baru yang menunjuk ke akun penyimpanan yang Anda buat. Kemudian, buat rute yang memfilter pesan di mana properti tingkat diatur ke penyimpanan, dan rutekan ke titik akhir penyimpanan.

Catatan

Data dapat ditulis ke penyimpanan blob dalam format Apache Avro, yang merupakan default, atau JSON.

Format pengodean hanya dapat diatur pada saat titik akhir penyimpanan blob dikonfigurasi. Format tidak dapat diubah untuk titik akhir yang telah disiapkan. Saat menggunakan pengodean JSON, Anda harus mengatur contentType ke JSON dan contentEncoding ke UTF-8 di properti sistem pesan.

Untuk informasi selengkapnya tentang menggunakan titik akhir penyimpanan blob, lihat panduan tentang perutean ke penyimpanan.

  1. Di portal Microsoft Azure, buka IoT hub Anda.

  2. Di menu sumber daya di bawah Pengaturan hub, pilih Perutean pesan lalu pilih Tambahkan.

    Screenshot that shows location of the Add button, to add a new route in your IoT hub.

  3. Pada tab Titik Akhir, buat titik akhir Penyimpanan dengan memberikan informasi berikut:

    Parameter Nilai
    Jenis titik akhir Pilih Penyimpanan.
    Nama titik akhir Berikan nama unik untuk titik akhir ini.
    Kontainer Azure Storage Pilih Pilih kontainer. Ikuti perintah untuk memilih akun penyimpanan dan kontainer yang Anda buat di bagian sebelumnya.
    Pengodean Pilih JSON. Jika bidang ini berwarna abu-abu, wilayah akun penyimpanan Anda tidak mendukung JSON. Dalam hal ini, lanjutkan dengan AVRO default.

    Screenshot that shows the Add a storage endpoint pane with the correct options selected.

  4. Terima nilai default untuk parameter lainnya dan pilih Buat + berikutnya.

  5. Pada tab Rute , berikan informasi berikut untuk membuat rute yang menunjuk ke titik akhir Penyimpanan yang Anda buat:

    Parameter Nilai
    Nama Buat nama untuk rute Anda.
    Sumber data Verifikasi bahwa Pesan Telemetri Perangkat dipilih dari daftar menurun.
    Aktifkan rute Verifikasi bahwa bidang ini dicentang.
    Kueri perutean Masukkan level="storage" sebagai string kueri.

    Screenshot that shows adding a route with a routing query.

  6. Pilih Buat + lewati pengayaan.

Menampilkan pesan yang dirutekan

Setelah dibuat di IoT Hub dan diaktifkan, rute akan segera mulai merutekan pesan yang memenuhi kondisi kuerinya ke titik akhir penyimpanan.

Memantau titik akhir bawaan dengan IoT Explorer

Kembali ke sesi IoT Explorer di komputer pengembangan Anda. Ingat bahwa IoT Explorer memantau titik akhir bawaan untuk IoT hub Anda. Itu berarti bahwa sekarang Anda seharusnya hanya melihat pesan yang tidak dirutekan oleh rute kustom yang kita buat.

Mulai sampel lagi dengan menjalankan kode. Awasi pesan masuk selama beberapa saat dan Anda hanya akan melihat pesan di mana level diatur ke normal atau critical.

Menampilkan pesan dalam kontainer penyimpanan

Verifikasi bahwa pesan tiba di kontainer penyimpanan.

  1. Di portal Microsoft Azure, navigasikan ke akun penyimpanan Anda.

  2. Pilih Kontainer dari bagian Penyimpanan data pada menu.

  3. Pilih kontainer yang Anda buat untuk tutorial ini.

  4. Harus ada folder dengan nama IoT hub Anda. Telusuri paling detail struktur file hingga Anda masuk ke file .json.

    Screenshot that shows finding routed messages in storage.

  5. Pilih file JSON, lalu pilih Unduh untuk mengunduh file JSON. Konfirmasikan bahwa file berisi pesan dari perangkat Anda yang memiliki properti yang level diatur ke storage.

  6. Berhenti menjalankan sampel.

Membersihkan sumber daya

Jika Anda ingin menghapus semua sumber daya Azure yang digunakan untuk tutorial ini, hapus grup sumber daya. Tindakan ini juga menghapus semua sumber daya yang terkandung dalam grup. Jika Anda tidak ingin menghapus seluruh grup sumber daya, gunakan portal Azure untuk menemukan dan menghapus sumber daya individual.

Jika Anda ingin melanjutkan ke tutorial berikutnya, simpan sumber daya yang Anda buat di sini.

  1. Di portal Azure, navigasikan ke grup sumber daya yang berisi IoT hub dan akun penyimpanan untuk tutorial ini.
  2. Tinjau semua sumber daya yang ada di grup sumber daya untuk menentukan sumber daya mana yang ingin Anda bersihkan.
    • Jika ingin menghapus semua sumber daya, pilih Hapus grup sumber daya.
    • Jika Anda hanya ingin menghapus sumber daya tertentu, gunakan kotak centang di samping setiap nama sumber daya untuk memilih sumber daya yang ingin Anda hapus. Kemudian pilih Hapus.

Langkah berikutnya

Dalam tutorial ini Anda mempelajari cara membuat titik akhir kustom untuk sumber daya Azure lalu membuat rute untuk mengirim pesan perangkat ke titik akhir tersebut. Lanjutkan ke tutorial berikutnya untuk mempelajari cara memperkaya pesan dengan data tambahan yang dapat digunakan untuk menyederhanakan pemrosesan hilir