Latihan - Mengintegrasikan Azure Cosmos DB dengan alur data IoT

Selesai

Latihan ini memberikan ringkasan tentang menyiapkan koleksi, pemrosesan, dan penyimpanan telemetri IoT yang dihasilkan dengan menggunakan aplikasi Azure IoT Central.

Dalam latihan ini, Anda:

  • Membuat aplikasi Azure IoT Central.
  • Membuat fungsi Azure yang mencatat payload permintaan HTTP.
  • Mengonfigurasi dan memvalidasi aturan telemetri IoT dari aplikasi Azure IoT Central.

Prasyarat

Untuk melakukan latihan ini, Anda membutuhkan:

  • Akun Microsoft atau akun Microsoft Entra dengan peran Administrator Global di penyewa Microsoft Entra. Penyewa harus dikaitkan dengan langganan Azure dan dengan peran Pemilik atau Kontributor dalam langganan Azure.
  • Untuk menyelesaikan unit latihan Siapkan Azure Cosmos DB.
  • Langganan Azure aktif. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Membuat aplikasi Azure IoT Central

  1. Navigasi ke halaman Buat Aplikasi IoT Central di portal Azure. Jika diminta, masuk menggunakan akun Azure Anda.

  2. Masukkan informasi berikut:

    Bidang Deskripsi
    Langganan Langganan Azure yang ingin Anda gunakan.
    Grup sumber daya Grup sumber daya yang ingin Anda gunakan. Anda dapat membuat grup sumber daya baru atau menggunakan kembali grup sumber daya yang sudah ada.
    Nama sumber daya Nama sumber daya Azure yang valid seperti adatum-iot-custom-application.
    URL Aplikasi Subdomain URL untuk aplikasi Anda seperti adatum-iot-custom-application. URL untuk aplikasi IoT Central terlihat seperti https://adatum-iot-custom-application.azureiotcentral.com.
    Templat Analitik Dalam Toko - Pemantauan Kondisi
    Wilayah Wilayah Azure yang ingin Anda gunakan.
    Paket harga Pilih salah satu paket harga standar. Untuk mempelajari tentang harga, lihat Harga Azure IoT Central.
  3. Pilih Tinjau + buat. Lalu pilih Buat.

Saat aplikasi siap, Anda dapat menavigasinya dari portal Azure:

Screenshot that shows the IoT Central application resource in the Azure portal. The application URL is highlighted.

Tip

Untuk mencantumkan semua aplikasi IoT Central yang dapat Anda akses, navigasikan ke Aplikasi IoT Central.

Dalam beberapa menit atau kurang, halaman Dasbor ditampilkan. Tinjau telemetri dan analitik sampel aplikasi Azure IoT Central:

  1. Pada halaman Dasbor portal Aplikasi IoT Central, di menu vertikal pilih Perangkat.

  2. Di bagian Termostat , pilih Termostat-Zone1.

  3. Pada panel Thermostat-Zone1 , tinjau konten tab Dasbor .

    Screenshot of the Dashboard tab of the 'Thermostat-Zone1' device pane in the IoT Central Application portal.

  4. Pilih tab Data mentah, dan tinjau kontennya.

    Screenshot of the Raw data tab of the 'Thermostat-Zone1' device pane in the IoT Central Application portal.

Membuat fungsi Azure yang mencatat payload permintaan HTTP

Dalam tugas ini, Anda membuat aplikasi Azure Function yang mengimplementasikan fungsionalitas webhook HTTP. Terapkan fungsionalitas ini untuk meneruskan data telemetri dari aplikasi Azure IoT Central dengan membuat aturan aplikasi.

  1. Mulai browser web, navigasikan ke portal Azure, dan masuk ke langganan Azure yang Anda gunakan untuk modul ini.

  2. Gunakan kotak teks Cari sumber daya, layanan, dan dokumen untuk mencari Aplikasi Fungsi.

  3. Pada panel Aplikasi Fungsi, pilih + Buat.

  4. Pada tab Dasar , konfigurasikan pengaturan berikut, lalu pilih Tinjau + buat.

    Pengaturan Konfigurasi
    Langganan Pilih nama langganan Azure yang Anda gunakan untuk modul ini.
    Grup Sumber Daya Buat grup resource baru bernama function-app-RG.
    Nama Aplikasi Fungsi Masukkan nama unik yang terdiri dari huruf kecil, digit, atau tanda hubung, dan dimulai dengan huruf.
    Terbitkan Pilih Kode.
    Tumpukan runtime Pilih .NET.
    Versi Pilih Versi 6 (LTS), model dalam proses.
    Wilayah Pilih wilayah Azure yang paling dekat dengan lokasi lingkungan lab Anda, sebaiknya cocok dengan lokasi yang Anda pilih untuk penyebaran Azure IoT Central.
    Sistem operasi Windows
    Jenis paket Konsumsi (tanpa server)

    Screenshot of the Basics tab of the Create Function App pane in the Azure portal.

  5. Pilih Buat.

    Catatan

    Tunggu hingga provisi aplikasi Azure Function selesai. Proses ini mungkin perlu waktu sekitar dua menit.

  6. Saat penyebaran aplikasi Azure Function selesai, pilih Buka sumber daya.

  7. Pada panel aplikasi Azure Function, di bawah Buat di portal Azure, pilih Buat fungsi.

  8. Pada panel Tambahkan fungsi , tentukan pengaturan berikut, lalu pilih Buat.

    Pengaturan Konfigurasi
    Lingkungan pengembangan Kembangkan di portal
    Templat Pemicu HTTP
    Fungsi baru HttpTrigger1
    Tingkat otorisasi Fungsi

    Screenshot of the 'Add function' pane of the Azure Function app in the Azure portal.

  9. Pada panel HttpTrigger1 , pilih Integrasi dari menu.

    Screenshot of the Integration function pane of the Azure Function app in the Azure portal.

  10. Di persegi berlabel Output, pilih + Tambahkan output.

  11. Konfigurasikan pengaturan berikut, lalu pilih Tambahkan:

    Pengaturan Konfigurasi
    Jenis pengikatan Pilih Azure Cosmos DB.
    Nama parameter dokumen Ganti nilai default dengan outDoc.
    Nama database Masukkan nama database yang Anda buat di latihan sebelumnya, iotdb.
    Nama Koleksi Masukkan iotcollection.
    Jika true, membuat database Azure Cosmos DB Pilih Ya.
    Koneksi akun Cosmos DB Pilih baru. Di jendela popup Koneksi Cosmos DB baru, pastikan bahwa opsi Akun Azure Cosmos DB dipilih. Di daftar drop-down Akun Database, pilih entri yang mewakili akun Cosmos DB yang Anda buat di latihan sebelumnya, lalu pilih OK.
    Kunci partisi (opsional) Masukkan /pk/timestamp/deviceid.

    Screenshot of the Create Output pane of the HttpTrigger1 Integration pane of an Azure function in the Azure portal.

    Catatan

    Saat memilih kunci partisi yang optimal, penting untuk mempertimbangkan pola penggunaan dan batasan ukuran partisi logis 20 GB. Misalnya, Anda dapat membuat tombol partisi sintetis yang terdiri dari kombinasi deviceId dan date.

  12. Pilih Kode + Pengujian.

  13. Ganti kode yang ada dengan konten berikut, lalu pilih Simpan.

    #r "Newtonsoft.Json"
    
    using Microsoft.Azure.WebJobs.Host;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using Microsoft.Extensions.Logging;
    using Microsoft.AspNetCore.Mvc;
    
    public static void Run(HttpRequest req, out object outDoc, ILogger log)
    {
      log.LogInformation($"C# Queue trigger function processed: {req.Body}");
    
      string requestBody = new StreamReader(req.Body).ReadToEnd();
      dynamic iotDataJson = JObject.Parse(requestBody);
      dynamic iotData = JsonConvert.DeserializeObject<dynamic>(iotDataJson.ToString());
    
      log.LogInformation($"{iotData}");
    
      outDoc = new {
        pk = iotData.device.id + "-" + iotData.timestamp.ToString("yyyyMMdd"),
        timestamp = iotData.timestamp,
        deviceId = iotData.device.id,
        temperature = iotData.device.telemetry.Thermostat_1o.temp.value
      };
    }
    

    Screenshot of the Code + Test pane of the HttpTrigger1 of the Azure Function app in the Azure portal displaying the code.

    Catatan

    Fungsi ini mencatat muatan berbasis JSON dari permintaan HTTP dan membangun elemen JSON individu yang akan disimpan dalam dokumen individu dari koleksi Cosmos DB target yang sesuai dengan output fungsi yang Anda konfigurasi. Anda dapat menggunakan elemen pk, yang terdiri dari properti deviceId yang disambungkan dan tanggal titik data telemetri yang dikumpulkan, sebagai kunci partisi.

  14. Pilih Dapatkan URL fungsi untuk kunci fungsi dan rekam nilainya.

    Screenshot of the Code + Test pane of the HttpTrigger1 of the Azure Function app in the Azure portal, with the Get function URL pop-up window.

Mengonfigurasi dan memvalidasi aturan telemetri IoT dari aplikasi Azure IoT Central

  1. Beralih kembali ke jendela browser web yang menampilkan halaman Perangkat aplikasi Azure IoT Central yang Anda buat sebelumnya dalam latihan ini.

  2. Di menu vertikal portal Aplikasi IoT Central, pilih Aturan.

  3. Pilih + Baru, dan konfigurasikan pengaturan berikut:

    Pengaturan Konfigurasi
    Nama aturan Masukkan Aturan telemetri Adatum IoT.
    Templat perangkat Pilih Termostat.
    Agregasi waktu Pastikan pengaturan Dinonaktifkan.
    telemetri Select Suhu.
    Operator Pilih lebih besar dari.
    Masukkan nilai Masukkan 0.
    Perbuatan Pilih + Webhook.
    Nama tampilan Masukkan webhook fungsi Azure.
    URL Panggilan Balik Tempelkan nilai URL fungsi Azure yang Anda rekam di tugas sebelumnya dari latihan ini.

    Screenshot of the first part of the sample Azure IoT Central application rule.

    Screenshot of the second part of the sample Azure IoT Central application rule.

    Catatan

    Nilai telemetri suhu sengaja dibuat rendah untuk memanggil fungsi webhook dan memicu fungsi. Dalam skenario asli, Anda akan menyesuaikannya sesuai dengan kondisi yang menjamin pengumpulan data yang ingin Anda simpan dalam koleksi Cosmos DB target.

  4. Pilih Selesai, lalu pilih Simpan.

  5. Beralih kembali ke jendela browser web yang menampilkan HttpTrigger1 | Panel Kode + Uji di portal Azure.

  6. Pilih Pantau, lalu pilih tab Log .

  7. Pastikan bahwa panel log menampilkan pesan yang dihasilkan sebagai respons terhadap pemicu HTTP yang berasal dari webhook aplikasi Azure IoT Central yang Anda konfigurasi sebelumnya dalam tugas ini.

  8. Beralih ke jendela browser web yang menampilkan panel Data Explorer dari akun Cosmos DB yang Anda provisikan di latihan sebelumnya.

  9. Di bagian NOSQL API, pilih tombol Refresh panah melingkar, perluas simpul iotdb dan iotcollection di dalamnya. Pilih simpul Item , lalu pilih dokumen pertama dalam daftar item.

  10. Pastikan panel detail tab Item di jendela Penjelajah Data menampilkan data telemetri yang dihasilkan oleh perangkat yang terdaftar dengan aplikasi Azure Central IoT dan diproses oleh fungsi Azure, termasuk pk, tanda waktu, deviceId, dan suhu.

    Screenshot of the Azure Cosmos DB items. The items represent the telemetry data generated by devices registered with Azure IoT Central and processed by the Azure function.

Hasil

Selamat! Anda telah menyelesaikan latihan kedua dari modul ini. Dalam latihan ini, Anda telah membuat aplikasi Azure IoT Central.