Bagikan melalui


Tutorial: Menulis fungsi yang didefinisikan pengguna C# untuk job Azure Stream Analytics (Pratinjau)

Penting

Fungsi yang ditentukan pengguna .Net Standard untuk Azure Stream Analytics akan dihentikan pada 30 September 2024. Setelah tanggal tersebut, tidak akan mungkin untuk menggunakan fitur tersebut. Silakan transisi ke fungsi yang ditentukan pengguna JavaScript untuk Azure Stream Analytics.

Fungsi yang ditentukan pengguna (UDF) C# yang dibuat di Visual Studio memungkinkan Anda memperluas bahasa kueri Azure Stream Analytics dengan fungsi Anda sendiri. Anda dapat menggunakan kembali kode yang ada (termasuk DLL) dan menggunakan logika matematika atau kompleks dengan C#. Ada tiga cara untuk menerapkan UDF:

  • File CodeBehind dalam proyek Azure Stream Analytics
  • UDF dari proyek C# lokal
  • Fungsi UDF dari paket yang sudah ada dari akun penyimpanan data.

Tutorial ini menggunakan metode CodeBehind untuk mengimplementasikan fungsi C# dasar. Fitur UDF untuk pekerjaan Stream Analytics saat ini dalam pratinjau dan tidak boleh digunakan dalam beban kerja produksi.

Dalam tutorial ini, Anda akan belajar cara:

  • Buat fungsi yang ditentukan pengguna C# menggunakan CodeBehind.
  • Uji pekerjaan Azure Stream Analytics Anda secara lokal.
  • Terbitkan pekerjaan Anda ke Azure.

Prasyarat

Sebelum memulai, pastikan Anda telah menyelesaikan prasyarat berikut:

Membuat kontainer di Akun Azure Storage Anda

Kontainer yang Anda buat digunakan untuk menyimpan paket C# yang dikompilasi. Jika Anda membuat pekerjaan Edge, akun penyimpanan ini juga digunakan untuk menyebarkan paket ke perangkat IoT Edge Anda. Gunakan kontainer khusus untuk setiap pekerjaan Azure Stream Analytics. Menggunakan kembali kontainer yang sama untuk beberapa pekerjaan Azure Stream Analytics Edge tidak didukung. Jika Anda sudah memiliki akun penyimpanan dengan kontainer yang ada, Anda dapat menggunakannya. Jika tidak, Anda perlu membuat kontainer baru.

Membuat proyek Azure Stream Analytics di Visual Studio

  1. Mulai Visual Studio.

  2. Pilih File > Proyek Baru>.

  3. Di daftar templat di sebelah kiri, pilih Azure Stream Analytics, lalu pilih Aplikasi Azure Stream Analytics Edge atau Aplikasi Azure Stream Analytics.

  4. Masukkan nama proyek, Lokasi, dan Nama solusi, dan pilih OK.

    Membuat proyek Azure Stream Analytics Edge di Visual Studio

Mengonfigurasi jalur paket rakitan

  1. Buka Visual Studio dan navigasikan ke Penjelajah Solusi.

  2. Klik ganda pada file konfigurasi pekerjaan, JobConfig.json.

  3. Buka bagian Konfigurasi Kode Didefinisikan Pengguna, dan isi konfigurasi dengan nilai-nilai berikut yang disarankan:

    Pengaturan Nilai yang Disarankan
    Sumber Daya Pengaturan Penyimpanan Global Pilih sumber data dari akun saat ini
    Langganan Pengaturan Penyimpanan Global < langganan Anda >
    Pengaturan Penyimpanan Global Akun Penyimpanan < akun penyimpanan Anda >
    Sumber Daya Pengaturan Penyimpanan Kode Kustom Pilih sumber data dari akun saat ini
    Pengaturan Penyimpanan Akun Penyimpanan Kode Kustom < akun penyimpanan Anda >
    Wadah Pengaturan Penyimpanan Kode Kustom < kontainer penyimpanan Anda >

Menulis C# UDF dengan CodeBehind

File CodeBehind adalah file C# yang terkait dengan satu skrip kueri ASA. Alat Visual Studio secara otomatis meng-zip file CodeBehind dan mengunggahnya ke akun penyimpanan Azure Anda setelah pengiriman. Semua kelas harus didefinisikan sebagai publik dan semua objek harus didefinisikan sebagai publik statis.

  1. Di Penjelajah Solusi, perluas Script.asql untuk menemukan file codeBehind Script.asaql.cs .

  2. Ganti kode dengan sampel berikut:

        using System; 
        using System.Collections.Generic; 
        using System.IO; 
        using System.Linq; 
        using System.Text; 
    
        namespace ASAEdgeUDFDemo 
        { 
            public class Class1 
            { 
                // Public static function 
                public static Int64 SquareFunction(Int64 a) 
                { 
                    return a * a; 
                } 
            } 
        } 
    

Menerapkan UDF

  1. Di Penjelajah Solusi, buka file Script.asaql .

  2. Ganti kueri yang sudah ada dengan kueri berikut:

        SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint))
        INTO Output
        FROM Input 
    

Pengujian lokal

  1. Unduh file sampel data simulator suhu.

  2. Di Penjelajah Solusi, perluas Input, klik kanan Input.json, dan pilih Tambahkan Input Lokal.

    Menambahkan input lokal ke job Stream Analytics di Visual Studio

  3. Tentukan jalur file input lokal untuk data sampel yang Anda unduh dan Simpan.

    Konfigurasi input lokal untuk pekerjaan Azure Stream Analytics di Visual Studio

  4. Klik Jalankan Secara Lokal di editor skrip. Setelah eksekusi lokal berhasil menyimpan hasil output, tekan tombol apa pun untuk melihat hasilnya dalam format tabel.

    Menjalankan pekerjaan Azure Stream Analytics secara lokal dengan Visual Studio

  5. Anda juga dapat memilih Buka Folder Hasil untuk melihat file mentah dalam format JSON dan CSV.

    Melihat hasil pekerjaan Azure Stream Analytics lokal dengan Visual Studio

Debug UDF

Anda dapat men-debug C# UDF Anda secara lokal dengan cara yang sama seperti Anda men-debug kode C# standar.

  1. Tambahkan titik henti di fungsi C# Anda.

    Menambahkan titik henti ke fungsi Azure Stream Analytics yang ditentukan pengguna di Visual Studio

  2. Tekan F5 untuk memulai debugging. Program berhenti pada titik henti Anda seperti yang diharapkan.

    Melihat hasil debug fungsi yang ditentukan pengguna dalam Stream Analytics

Menerbitkan pekerjaan Anda ke Azure

Setelah Anda menguji kueri secara lokal, pilih Kirim ke Azure di editor skrip untuk menerbitkan pekerjaan ke Azure.

Mengirimkan pekerjaan Stream Analytics Edge Anda ke Azure dari Visual Studio

Menyebarkan ke perangkat IoT Edge

Jika Anda memilih untuk membangun pekerjaan Stream Analytics Edge, pekerjaan tersebut kini dapat disebarkan sebagai modul IoT Edge. Ikuti panduan memulai cepat IoT Edge untuk membuat sebuah IoT Hub, mendaftarkan sebuah perangkat IoT Edge, dan menginstal serta memulai runtime IoT Edge pada perangkat Anda. Kemudian ikuti tutorial penyebaran pekerjaan untuk menyebarkan pekerjaan Azure Stream Analytics Anda sebagai modul IoT Edge.

Langkah selanjutnya

Dalam tutorial ini, Anda membuat fungsi C# sederhana yang ditentukan pengguna menggunakan CodeBehind, menerbitkan pekerjaan Anda ke Azure, dan menyebarkan pekerjaan ke perangkat Azure atau IoT Edge.

Untuk mempelajari selengkapnya tentang berbagai cara untuk menggunakan fungsi yang ditentukan pengguna C# untuk pekerjaan Azure Stream Analytics, lanjutkan ke artikel ini: