Tutorial: Menyebarkan Azure Stream Analytics sebagai modul IoT Edge

Berlaku untuk tandacentang:IoT Edge 1.1 IoT Edge 1.1 IoT Edge 1.2 tanda centang IoT Edge 1.2 IoT Edge 1.3 IoT Edge 1.3

Banyak solusi IoT menggunakan layanan analitik untuk mendapatkan wawasan tentang data saat tiba di cloud dari perangkat IoT. Dengan Azure IoT Edge, Anda dapat mengambil logika Azure Stream Analytics dan memindahkannya ke perangkat itu sendiri. Dengan memproses aliran telemetri di edge, Anda dapat mengurangi jumlah data yang diunggah dan mengurangi waktu yang diperlukan untuk bereaksi terhadap wawasan yang dapat ditindaklanjuti.

Azure IoT Edge dan Azure Stream Analytics terintegrasi untuk menyederhanakan pengembangan beban kerja Anda. Anda dapat membuat tugas Azure Stream Analytics di Azure portal lalu menyebarkannya sebagai modul IoT Edge tanpa kode tambahan.

Azure Stream Analytics menyediakan sintaks kueri yang terstruktur lengkap untuk analisis data, baik di cloud maupun di perangkat IoT Edge. Untuk informasi selengkapnya, lihat Dokumentasi Azure Stream Analytics.

Modul Stream Analytics dalam tutorial ini menghitung suhu rata-rata selama jendela 30 detik yang bergulir. Ketika rata-rata mencapai 70, modul mengirimkan peringatan bagi perangkat untuk mengambil tindakan. Dalam hal ini, tindakan itu adalah mengatur ulang sensor suhu yang disimulasikan. Dalam lingkungan produksi, Anda dapat menggunakan fungsi ini untuk mematikan mesin atau mengambil langkah-langkah pencegahan ketika suhu mencapai tingkat berbahaya.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Buat tugas Azure Stream Analytics untuk memproses data di edge.
  • Hubungkan tugas Azure Stream Analytics baru dengan modul IoT Edge lainnya.
  • Sebarkan tugas Azure Stream Analytics ke perangkat IoT Edge dari Azure portal.

Diagram - Arsitektur tutorial: menahapkan dan menyebarkan pekerjaan ASA

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Perangkat Azure IoT Edge:

  • Anda dapat menggunakan mesin virtual Azure sebagai perangkat IoT Edge dengan mengikuti langkah-langkah dalam mulai cepat untuk perangkat Linuxatau Windows.

Sumber daya cloud:

  • IoT Hub tingkat standar atau gratis di Azure.

Membuat tugas Azure Stream Analytics

Di bagian ini, Anda membuat tugas Azure Stream Analytics yang akan melakukan langkah-langkah berikut:

  • Menerima data dari perangkat IoT Edge Anda.
  • Melakukan kueri data telemetri untuk nilai di luar rentang yang ditetapkan.
  • Mengambil tindakan pada perangkat IoT Edge berdasarkan hasil kueri.

Buat akun penyimpanan

Saat Anda membuat tugas Azure Stream Analytics untuk berjalan di perangkat IoT Edge, tugas tersebut harus disimpan dengan cara yang dapat dipanggil dari perangkat. Anda bisa menggunakan akun Azure Storage yang sudah ada, atau membuat akun baru sekarang.

  1. Di Azure portal, masuk ke Buat sumber daya>Penyimpanan>Akun penyimpanan.

  2. Berikan nilai berikut untuk membuat akun penyimpanan Anda:

    Bidang Nilai
    Langganan Pilih langganan yang sama dengan IoT hub Anda.
    Grup sumber daya Kami menyarankan agar Anda menggunakan grup sumber daya yang sama untuk semua sumber daya pengujian Anda untuk mulai cepat dan tutorial Azure IoT Edge. Misalnya, IoTEdgeResources.
    Nama Masukkan nama yang unik untuk akun penyimpanan Anda.
    Lokasi Pilih lokasi yang dekat dengan Anda.
  3. Pertahankan nilai default untuk bidang lain dan pilih Tinjau + Buat.

  4. Tinjau pengaturan kemudian pilih Buat.

Membuat tugas baru

  1. Di Azure portal, masuk ke Buat sumber daya>Internet of Things>Tugas Stream Analytics.

  2. Berikan nilai berikut untuk membuat tugas Anda:

    Bidang Nilai
    Nama pekerjaan Berikan nama untuk tugas Anda. Misalnya, IoTEdgeJob
    Langganan Pilih langganan yang sama dengan IoT hub Anda.
    Grup sumber daya Kami menyarankan agar Anda menggunakan grup sumber daya yang sama untuk semua sumber daya pengujian yang Anda buat selama mulai cepat dan tutorial Azure IoT Edge. Misalnya, IoTEdgeResources.
    Lokasi Pilih lokasi yang dekat dengan Anda.
    Lingkungan hosting Pilih Edge. Opsi ini menunjukkan bahwa tugas akan disebarkan ke perangkat IoT Edge alih-alih di-hosting di cloud.
  3. Pilih Buat.

Mengonfigurasi pekerjaan Anda

Setelah tugas Stream Analytics dibuat di Azure portal, Anda dapat mengonfigurasinya dengan input, output, dan kueri untuk dijalankan pada data yang dilewati.

Menggunakan tiga elemen input, output, dan kueri, bagian ini menciptakan tugas yang menerima data suhu dari perangkat IoT Edge. Ini menganalisis data tersebut dalam jendela 30 detik yang bergulir. Jika suhu rata-rata di jendela itu melampaui 70 derajat, maka peringatan dikirim ke perangkat IoT Edge. Anda akan menentukan dari mana tepatnya data datang dan pergi di bagian berikutnya saat Anda menyebarkan tugas.

  1. Navigasikan ke tugas Stream Analytics Anda di Azure portal.

  2. Di bawah topologi Tugas, pilih Input kemudian Tambahkan input stream.

    Azure Stream Analytics - tambahkan input

  3. Pilih Edge Hub dari daftar menurun.

    Jika Anda tidak melihat opsi Edge Hub dalam daftar, Anda mungkin telah membuat tugas Stream Analytics Anda sebagai tugas yang di-host cloud. Cobalah membuat tugas baru dan pastikan untuk memilih Edge sebagai lingkungan hosting.

  4. Dalam panel Input baru, masukkan suhu sebagai alias input.

  5. Pertahankan nilai default untuk bidang lain dan pilih Simpan.

  6. Di bawah Topologi Tugas, buka Output kemudian pilih Tambahkan.

    Azure Stream Analytics - tambahkan output

  7. Pilih Edge Hub dari daftar menurun.

  8. Di panel Output baru, masukkan peringatan sebagai alias output.

  9. Pertahankan nilai default untuk bidang lain dan pilih Simpan.

  10. Di bawah Topologi Tugas, pilih Kueri.

  11. Ganti teks default dengan kueri berikut. Kode SQL mengirimkan perintah reset ke output peringatan jika suhu rata-rata komputer dalam jendela 30 detik mencapai 70 derajat. Perintah reset telah diprogram sebelumnya ke dalam sensor sebagai tindakan yang dapat diambil.

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    
  12. Pilih Simpan kueri.

Konfigurasikan pengaturan IoT Edge

Untuk menyiapkan tugas Stream Analytics yang akan disebarkan di perangkat IoT Edge, Anda perlu mengaitkan tugas dengan akun penyimpanan. Saat Anda menyebarkan tugas Anda, definisi tugas diekspor ke akun penyimpanan dalam bentuk kontainer.

  1. Di bawah Konfigurasi, pilih Pengaturan akun penyimpanan kemudian pilih Tambahkan akun penyimpanan.

    Azure Stream Analytics - tambahkan akun penyimpanan

  2. Pilih opsi Pilih Penyimpanan Blob/ADLS Gen 2 dari langganan Anda.

  3. Gunakan menu menurun untuk memilih Langganan dan akun Penyimpanan yang Anda siapkan di awal tutorial ini.

  4. Pilih Simpan.

Menyebarkan tugas

Anda sekarang siap untuk menyebarkan tugas Azure Stream Analytics pada perangkat IoT Edge Anda.

Di bagian ini, Anda menggunakan panduan Atur Modul di Azure portal untuk membuat manifes penyebaran. Manifes penyebaran adalah file JSON yang menjelaskan semua modul yang akan disebarkan ke perangkat, registri kontainer yang menyimpan gambar modul, bagaimana modul harus dikelola, dan bagaimana modul dapat berkomunikasi satu sama lain. Perangkat IoT Edge Anda mengambil manifes penyebarannya dari IoT Hub, lalu menggunakan informasi di dalamnya untuk menyebarkan dan mengonfigurasi semua modul yang ditetapkan.

Untuk tutorial ini, Anda menyebarkan dua modul. Yang pertama adalah SimulatedTemperatureSensor, yang merupakan modul yang mensimulasikan sensor suhu dan kelembapan. Yang kedua adalah tugas Stream Analytics Anda. Modul sensor menyediakan aliran data yang akan dianalisis oleh kueri tugas Anda.

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

  2. Buka IoT Edge, lalu buka halaman detail untuk perangkat IoT Edge Anda.

  3. Pilih Atur Modul.

  4. Jika sebelumnya Anda menggunakan modul SimulatedTemperatureSensor pada perangkat ini, mungkin terjadi autopopulasi pada modul. Jika tidak, tambahkan modul dengan langkah-langkah berikut:

    1. Klik Tambahkan dan pilih Modul IoT Edge.
    2. Untuk nama, ketik SimulatedTemperatureSensor.
    3. Untuk URI gambar, masukkan mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0.
    4. Jangan ganti pengaturan lain dan pilih Tambahkan.
  5. Tambahkan tugas Azure Stream Analytics Edge Anda dengan langkah-langkah berikut:

    1. Klik Tambahkan dan piliht Modul Azure Stream Analytics.
    2. Pilih langganan Anda dan tugas Azure Stream Analytics Edge yang Anda buat.
    3. Pilih Simpan.

    Setelah menyimpan perubahan, detail tugas Stream Analytics akan dipublikasikan ke kontainer penyimpanan yang Anda buat.

  6. Saat modul Stream Analytics ditambahkan ke daftar modul, pilih namanya untuk melihat bagaimana strukturisasi dan memperbarui pengaturannya di halaman Perbarui Modul IoT Edge.

    Tab Pengaturan Modul memiliki URI gambar yang menunjuk ke gambar Azure Stream Analytics standar. Satu gambar ini digunakan untuk setiap modul Stream Analytics yang akan disebarkan ke perangkat IoT Edge.

    Tab Pengaturan Modul Kembar memperlihatkan JSON yang mendefinisikan properti Azure Stream Analytics (ASA) yang disebut ASAJobInfo. Nilai properti tersebut menunjuk ke definisi tugas dalam kontainer penyimpanan Anda. Properti ini adalah cara gambar Stream Analytics dikonfigurasi dengan detail tugas spesifik Anda.

    Secara default, modul Stream Analytics mengambil nama yang sama dengan tugas yang didasarkan padanya. Anda dapat mengubah nama modul di halaman ini jika Anda mau, tetapi tidak diwajibkan.

  7. Pilih Perbarui atau Batalkan.

  8. Catat nama modul Stream Analytics Anda karena Anda akan membutuhkannya di langkah berikutnya. Kemudian, pilih Selanjutnya: Rute untuk melanjutkan.

  9. Pada tab Rute, Anda menentukan bagaimana pesan disampaikan antara modul dan IoT Hub. Pesan dibuat menggunakan pasangan nama/nilai. Ganti nama dan nilai route dan upstream default dengan pasangan yang ditampilkan dalam tabel berikut, pasangan nama/nilai berikut, menggantikan instans dari {moduleName} dengan nama modul Azure Stream Analytics Anda.

    Nama Nilai
    telemetryToCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    alertsToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
    alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    telemetryToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    Rute yang Anda nyatakan di sini menentukan aliran data melalui perangkat IoT Edge. Data telemetri dari SimulatedTemperatureSensor dikirim ke IoT Hub dan ke input suhu yang dikonfigurasi dalam tugas Stream Analytics. Pesan peringatan output dikirim ke IoT Hub dan ke modul SimulatedTemperatureSensor untuk memicu perintah reset.

  10. Pilih Selanjutnya: Tinjau + Buat.

  11. Di tab Tinjau + Buat, Anda bisa melihat bagaimana informasi yang Anda berikan dalam panduan dikonversi menjadi manifes penyebaran JSON. Bila Anda sudah selesai meninjau manifes, pilih Buat.

  12. Anda dikembalikan ke halaman detail perangkat. Pilih refresh.

    Anda akan melihat modul Stream Analytics baru yang berjalan, bersama dengan agen IoT Edge dan modul hub IoT Edge. Mungkin perlu beberapa menit agar informasi mencapai perangkat IoT Edge Anda, kemudian hingga modul baru dimulai. Jika Anda tidak melihat modul langsung berjalan, lanjutkan refresh halaman.

    SimulatedTemperatureSensor dan modul ASA dilaporkan oleh perangkat

Menampilkan data

Sekarang Anda dapat membuka perangkat IoT Edge Anda untuk memeriksa interaksi antara modul Azure Stream Analytics dan modul SimulatedTemperatureSensor.

  1. Periksa apakah semua modul berjalan di Docker:

    iotedge list  
    
  2. Lihat semua data log dan metrik sistem. Gunakan nama modul Stream Analytics:

    iotedge logs -f {moduleName}  
    
  3. Lihat perintah reset memengaruhi SimulatedTemperatureSensor dengan melihat log sensor:

    iotedge logs SimulatedTemperatureSensor
    

    Anda dapat melihat suhu mesin berangsur-angsur naik hingga mencapai 70 derajat selama 30 detik. Kemudian modul Stream Analytics memicu reset, dan suhu komputer turun kembali ke 21.

    Reset output perintah ke dalam log modul

Membersihkan sumber daya

Jika berencana untuk melanjutkan ke artikel yang disarankan berikutnya, Anda dapat menyimpan sumber daya dan konfigurasi yang Anda buat dan menggunakannya kembali. Anda juga dapat tetap menggunakan perangkat Azure IoT Edge yang sama sebagai perangkat uji.

Jika tidak, Anda dapat menghapus konfigurasi lokal dan sumber daya Azure yang Anda gunakan dalam artikel ini untuk menghindari tagihan.

Menghapus sumber daya Azure

Menghapus sumber daya Azure dan grup sumber daya tidak dapat diubah. Pastikan Anda tidak menghapus grup sumber daya atau sumber daya yang salah secara tidak sengaja. Jika Anda membuat hub IoT di dalam grup sumber daya yang sudah ada yang berisi sumber daya yang ingin Anda simpan, hapus hanya sumber daya hub IoT itu sendiri, bukan grup sumber daya.

Untuk menghapus sumber daya:

  1. Masuk ke portal Microsoft Azure, lalu pilih Grup sumber daya.

  2. Pilih nama grup sumber daya yang berisi sumber daya pengujian IoT Edge Anda.

  3. Tinjau daftar sumber daya yang terdapat dalam grup sumber daya Anda. Jika ingin menghapus semuanya, Anda dapat memilih Hapus grup sumber daya. Jika hanya ingin menghapus beberapa sumber daya, Anda dapat mengklik setiap sumber daya untuk menghapusnya satu per satu.

Langkah berikutnya

Dalam tutorial ini, Anda mengonfigurasi tugas Azure Streaming Analytics untuk menganalisis data dari perangkat IoT Edge Anda. Anda kemudian memuat modul Azure Stream Analytics ini di perangkat IoT Edge Anda untuk memproses dan bereaksi terhadap peningkatan suhu secara lokal, serta mengirim aliran data agregat ke cloud. Untuk melihat bagaimana Azure IoT Edge dapat membuat lebih banyak solusi untuk bisnis Anda, lanjutkan ke tutorial lainnya.