Mulai cepat: Membuat pekerjaan Azure Stream Analytics menggunakan Visual Studio Code
Mulai cepat ini menunjukkan kepada Anda cara membuat, menjalankan, dan mengirimkan pekerjaan Azure Stream Analytics (ASA) menggunakan ekstensi Alat ASA untuk Visual Studio Code di komputer lokal Anda. Anda belajar membangun pekerjaan ASA yang membaca data streaming real-time dari IoT Hub dan memfilter peristiwa dengan suhu lebih besar dari 27°. Hasil output dikirim ke file dalam penyimpanan blob. Data input yang digunakan dalam panduan mulai cepat ini dihasilkan oleh simulator online Raspberry Pi.
Catatan
alat Visual Studio Code tidak mendukung pekerjaan di wilayah Tiongkok Timur, Tiongkok Utara, Jerman Tengah, dan Jerman Timur Laut.
Prasyarat
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis.
- Visual Studio Code.
Menginstal ekstensi Alat Azure Stream Analytics
Buka Visual Studio Code (Visual Studio Code).
Dari Ekstensi di panel kiri, cari analisis aliran dan pilih Instal pada ekstensi Alat Azure Stream Analytics .
Setelah diinstal, pilih ikon Azure pada bilah aktivitas dan masuk ke Azure.
Setelah masuk, Anda bisa melihat langganan di bawah akun Azure Anda.
Catatan
Ekstensi Alat ASA akan secara otomatis memasukkan Anda setiap kali Anda membuka Visual Studio Code. Jika akun Anda memiliki autentikasi dua faktor, kami sarankan Anda menggunakan autentikasi telepon daripada menggunakan PIN. Untuk keluar dari akun Azure Anda, tekan Ctrl + Shift + P
dan masukkan Azure: Sign Out
.
Menyiapkan data input
Sebelum menentukan pekerjaan Azure Stream Analytics, Anda harus menyiapkan data input. Data sensor real-time diserap ke IoT Hub, lalu dikonfigurasi sebagai input pekerjaan. Untuk menyiapkan data input yang diperlukan oleh pekerjaan, ikuti langkah-langkah berikut:
Masuk ke portal Azure.
Pilih Buat sumber daya > Internet of Things > IoT Hub.
Pada halaman IoT Hub, masukkan informasi berikut ini:
- Langganan, pilih langganan Azure Anda.
- Grup sumber daya, pilih grup sumber daya yang sudah ada atau buat grup sumber daya baru.
- Nama hub IoT, masukkan nama untuk hub IoT Anda.
- Wilayah, pilih wilayah yang paling dekat dengan Anda.
Buka halaman Manajemen , untuk Tingkat harga dan skala, pilih F1: Tingkat gratis, jika masih tersedia di langganan Anda. Untuk informasi selengkapnya, lihat Harga IoT Hub Azure.
Pilih Tinjau + buat. Tinjau informasi IoT Hub Anda dan pilih Buat. Proses ini mungkin memakan waktu beberapa menit untuk menyebarkan hub IoT Anda.
Setelah hub IoT Anda dibuat, pilih Buka sumber daya untuk menavigasi ke halaman IoT Hub. '
Pada halaman IoT Hub, pilih Perangkat di menu sebelah kiri, lalu pilih + Tambahkan Perangkat.
Masukkan ID Perangkat dan pilih Simpan.
Setelah perangkat dibuat, Anda akan melihat perangkat dari daftar perangkat IoT. Pilih tombol Refresh di halaman jika Anda tidak melihatnya.
Pilih perangkat Anda dari daftar. Salin String Koneksi Utama dan simpan ke notepad untuk digunakan nanti.
Jalankan simulator IoT
Buka Simulator Online Raspberry Pi Azure IoT di tab browser baru.
Ganti tempat penampung di Baris 15 dengan string koneksi perangkat IoT Hub yang Anda simpan sebelumnya.
Pilih Jalankan. Outputnya harus menunjukkan data sensor dan pesan yang dikirim ke IoT Hub Anda.
Membuat penyimpanan blob
Dari sudut kiri atas portal Microsoft Azure, pilih Buat akun penyimpanan>Penyimpanan>Sumber Daya.
Di panel Buat akun penyimpanan, masukkan nama akun penyimpanan, lokasi, dan grup sumber daya. Pilih lokasi dan grup sumber daya yang sama dengan IoT Hub yang Anda buat. Lalu pilih Tinjau dan Buat untuk membuat akun penyimpanan.
Pada halaman Akun penyimpanan, pilih Kontainer di menu sebelah kiri, lalu pilih + Kontainer pada bilah perintah.
Dari halaman Kontainer baru, berikan nama untuk kontainer Anda, biarkan Tingkat akses publik tetap Privat (tanpa akses anonim), lalu pilih OK.
Membuat proyek Analisis Aliran
Di Visual Studio Code, tekan Ctrl+Shift+P dan masukkan ASA: Buat Proyek Baru.
Masukkan nama proyek Anda, seperti myASAproj, dan pilih folder untuk proyek Anda.
Proyek ASA ditambahkan ke ruang kerja Anda. Ini terdiri dari tiga folder: Input, Output, dan Fungsi. Ini juga memiliki skrip kueri (*.asaql) , file JobConfig.json, dan file konfigurasiasaproj.json.
File asaproj.json berisi input, output, dan pengaturan konfigurasi pekerjaan untuk mengirimkan pekerjaan Stream Analytics ke Azure.
Catatan
Saat Anda menambahkan input dan output dari palet perintah, jalur yang sesuai ditambahkan ke asaproj.json secara otomatis. Jika Anda menambahkan atau menghapus input atau output pada disk secara langsung, Anda perlu menambahkan atau menghapusnya secara manual dari asaproj.json. Anda dapat memilih untuk meletakkan input dan output di satu tempat dan kemudian mereferensikannya dalam pekerjaan yang berbeda dengan menentukan jalur di file asaproj.json.
Tentukan kueri transformasi
Buka file myASAproj.asaql dan tambahkan kueri berikut:
SELECT * INTO Output FROM Input WHERE Temperature > 27
Mengonfigurasi input pekerjaan
Klik kanan folder Input di proyek Azure Stream Analytics Anda. Kemudian pilih ASA: Tambahkan Input dari menu konteks.
Atau tekan Ctrl+Shift+P untuk membuka palet perintah dan masukkan ASA: Tambahkan Input.
Pilih IoT Hub untuk jenis input.
Pilih skrip ASA *.asaql dan Langganan Azure dari menu drop-down, lalu tekan ENTER.
Di bawah folder Input , Anda akan melihat file IoTHub1.json dibuat. Ganti pengaturan dengan nilai yang disarankan berikut dan pertahankan nilai default untuk bidang yang tidak disebutkan di sini.
Pengaturan Nilai yang disarankan Deskripsi Nama Input Nama input ini digunakan untuk pernyataan FROM dalam kueri. IotHubNamespace spiothub Nama hub IoT Anda. Nama hub IoT secara otomatis terdeteksi jika Anda Memilih dari langganan Anda. SharedAccessPolicyName iothubowner Pilih Pratinjau data untuk melihat apakah data input berhasil dikonfigurasi untuk pekerjaan Anda. Ini akan mengambil sampel IoT Hub Anda dan ditampilkan di jendela pratinjau.
Mengonfigurasi output pekerjaan
Tekan Ctrl+Shift+P untuk membuka palet perintah dan masukkan ASA: Tambahkan Output.
Pilih Data Lake Storage Gen2/Blob Storage untuk jenis sink.
Pilih skrip kueri menggunakan output ini.
Masukkan BlobStorage1 sebagai nama file output.
Edit pengaturan menggunakan nilai berikut. Pertahankan nilai default untuk bidang yang tidak disebutkan di sini.
Pengaturan Nilai yang disarankan Deskripsi Nama Output Nama output ini digunakan untuk pernyataan INTO dalam kueri. Akun Penyimpanan spstorageaccount0901 Pilih atau masukkan nama akun penyimpanan Anda. Nama akun penyimpanan secara otomatis terdeteksi jika dibuat dalam langganan yang sama. Kontainer spcontainer Pilih kontainer yang sudah ada yang Anda buat di akun penyimpanan Anda.
Mengkompilasi skrip dan mengirimkan ke Azure
Kompilasi skrip memeriksa sintaks dan membuat templat Azure Resource Manager untuk penyebaran otomatis.
Klik kanan skrip dan pilih ASA: Mengompilasi Skrip.
Setelah kompilasi, Anda akan melihat folder Sebarkan di bawah proyek Anda dengan dua templat Azure Resource Manager. Kedua file ini digunakan untuk penyebaran otomatis.
Pilih Kirim ke Azure di editor kueri.
Kemudian ikuti instruksi untuk menyelesaikan proses: Pilih langganan > Pilih pekerjaan > Buat Pekerjaan > Baru Masukkan nama > pekerjaan Pilih grup dan wilayah sumber daya.
Pilih Terbitkan ke Azure dan selesaikan. Tunggu hingga membuka tab baru Tampilan Pekerjaan Cloud yang menunjukkan status pekerjaan Anda.
Mulai pekerjaan Azure Stream Analytics dan periksa output
Pada tab Tampilan Pekerjaan Cloud , pilih Mulai untuk menjalankan pekerjaan Anda di cloud. Diperlukan beberapa menit untuk menyelesaikan proses ini.
Jika pekerjaan Anda berhasil dimulai, status pekerjaan diubah menjadi Berjalan. Anda dapat melihat diagram logis yang menunjukkan bagaimana pekerjaan ASA Anda berjalan.
Untuk melihat hasil output, Anda dapat membuka penyimpanan blob di ekstensi Visual Studio Code atau di portal Azure.
Unduh dan buka file untuk melihat output.
{"messageId":11,"deviceId":"Raspberry Pi Web Client","temperature":28.165519323167562,"humidity":76.875393581654379,"EventProcessedUtcTime":"2022-09-01T22:53:58.1015921Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:52:57.6250000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:52:57.6290000Z"}} {"messageId":14,"deviceId":"Raspberry Pi Web Client","temperature":29.014941877871451,"humidity":64.93477299527828,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:03.6100000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:03.6140000Z"}} {"messageId":17,"deviceId":"Raspberry Pi Web Client","temperature":28.032846241745975,"humidity":66.146114343897338,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:19.5960000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:19.5830000Z"}} {"messageId":18,"deviceId":"Raspberry Pi Web Client","temperature":30.176185593576143,"humidity":72.697359909427419,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:21.6120000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:21.6140000Z"}} {"messageId":20,"deviceId":"Raspberry Pi Web Client","temperature":27.851894248213021,"humidity":71.610229530268214,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:25.6270000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:25.6140000Z"}} {"messageId":21,"deviceId":"Raspberry Pi Web Client","temperature":27.718624694772238,"humidity":66.540445035685153,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:48.0820000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:48.0830000Z"}} {"messageId":22,"deviceId":"Raspberry Pi Web Client","temperature":27.7849054424326,"humidity":74.300662748167085,"EventProcessedUtcTime":"2022-09-01T22:54:09.3393532Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:09.2390000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:09.2400000Z"}} {"messageId":28,"deviceId":"Raspberry Pi Web Client","temperature":30.839892925680324,"humidity":76.237611741451786,"EventProcessedUtcTime":"2022-09-01T22:54:47.8053253Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:47.6180000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:47.6150000Z"}} {"messageId":29,"deviceId":"Raspberry Pi Web Client","temperature":30.561040300759053,"humidity":78.3845172058103,"EventProcessedUtcTime":"2022-09-01T22:54:49.8070489Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:49.6030000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:49.5990000Z"}} {"messageId":31,"deviceId":"Raspberry Pi Web Client","temperature":28.163585438418679,"humidity":60.0511571297096,"EventProcessedUtcTime":"2022-09-01T22:55:25.1528729Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:24.9050000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:24.9120000Z"}} {"messageId":32,"deviceId":"Raspberry Pi Web Client","temperature":31.00503387156985,"humidity":78.68821066044552,"EventProcessedUtcTime":"2022-09-01T22:55:43.2652127Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:43.0480000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:43.0520000Z"}}
Membersihkan sumber daya
Jika tidak lagi diperlukan, hapus grup sumber daya, pekerjaan Azure Stream Analytics, dan semua sumber daya terkait. Menghapus pekerjaan menghindari penagihan unit streaming yang digunakan oleh pekerjaan. Jika Anda ingin menggunakan pekerjaan di masa depan, Anda dapat menghentikannya dan memulainya kembali nanti ketika Anda membutuhkannya. Jika Anda ingin berhenti menggunakan pekerjaan ini, hapus semua sumber daya yang dibuat dalam mulai cepat ini dengan menggunakan langkah-langkah berikut:
Dari menu sebelah kiri di portal Microsoft Azure, pilih Grup sumber daya lalu pilih nama sumber daya yang Anda buat.
Pada halaman grup sumber daya Anda, pilih Hapus. Masukkan nama sumber daya untuk dihapus di kotak teks, lalu pilih Hapus.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang ekstensi Alat ASA untuk Visual Studio Code, lanjutkan ke artikel berikut: