Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Azure Stream Analytics için .Net Standard kullanıcı tanımlı işlevler 30 Eylül 2024'te kullanımdan kaldırılacaktır. Bu tarihten sonra özelliği kullanmak mümkün olmayacaktır. Lütfen Azure Stream Analytics için JavaScript kullanıcı tanımlı işlevlerine geçin.
Visual Studio'da oluşturulan C# kullanıcı tanımlı işlevler (UDF' ler), Azure Stream Analytics sorgu dilini kendi işlevlerinizle genişletmenize olanak tanır. Mevcut kodu (DLL'ler dahil) yeniden kullanabilir ve C# ile matematiksel veya karmaşık mantık kullanabilirsiniz. UDF'leri uygulamanın üç yolu vardır:
- Stream Analytics projesinde CodeBehind dosyaları
- Yerel C# projesinden UDF'ler
- Depolama hesabındaki mevcut bir paketten UDF'ler.
Bu öğreticide, temel bir C# işlevi uygulamak için CodeBehind yöntemi kullanılır. Stream Analytics işleri için UDF özelliği şu anda önizleme aşamasındadır ve üretim iş yüklerinde kullanılmamalıdır.
Bu eğitimde şunları öğreniyorsunuz:
- CodeBehind kullanarak C# kullanıcı tanımlı bir işlev oluşturun.
- Stream Analytics işinizi yerel olarak test edin.
- İşinizi Azure'da yayımlayın.
Önkoşullar
Başlamadan önce aşağıdaki önkoşulları tamamladığınızdan emin olun:
- Azure aboneliğiniz yoksa ücretsiz hesap oluşturun.
- Visual Studio ve Azure geliştirme veya Veri Depolama ve İşleme iş yükleri için Stream Analytics araçlarını yükleyin.
- IoT Edge işi oluşturuyorsanız mevcut Stream Analytics Edge geliştirme kılavuzuna göz atın.
Azure Depolama Hesabınızda kapsayıcı oluşturma
Oluşturduğunuz kapsayıcı, derlenmiş C# paketini depolamak için kullanılır. Bir Edge işi oluşturursanız bu depolama hesabı paketi IoT Edge cihazınıza dağıtmak için de kullanılır. Her Stream Analytics işi için ayrılmış bir kapsayıcı kullanın. Birden çok Stream Analytics Edge işi için aynı kapsayıcının yeniden kullanılması desteklenmez. Mevcut kapsayıcılara sahip bir depolama hesabınız varsa bunları kullanabilirsiniz. Aksi takdirde yeni bir kapsayıcı oluşturmanız gerekir.
Visual Studio'da Stream Analytics projesi oluşturma
Visual Studio'yu başlatın.
Dosya > Yeni > Proje'yi seçin.
Soldaki şablonlar listesinde Stream Analytics'i ve ardından Azure Stream Analytics Edge Uygulaması veya Azure Stream Analytics Uygulaması'nı seçin.
Proje Adı, Konum ve Çözüm adını girin ve Tamam'ı seçin.
Derleme paketi yolunu yapılandırma
Visual Studio'yu açın ve Çözüm Gezgini'ne gidin.
İş yapılandırma dosyasına
JobConfig.jsonçift tıklayın.User-Defined Kod Yapılandırması bölümünü genişletin ve yapılandırmayı aşağıdaki önerilen değerlerle doldurun:
Setting Önerilen Değer Genel Depolama Ayarları Kaynağı Geçerli hesaptan veri kaynağı seçme Genel Depolama Ayarları Aboneliği < aboneliğiniz > Genel Depolama Ayarları Depolama Hesabı < depolama hesabınız > Özel Kod Depolama Ayarları Kaynağı Geçerli hesaptan veri kaynağı seçme Özel Kod Depolama Ayarları Depolama Hesabı < depolama hesabınız > Özel Kod Depolama Ayarları Kapsayıcısı < depolama kapsayıcınız >
CodeBehind ile C# UDF yazma
CodeBehind dosyası, tek bir ASA sorgu betiğiyle ilişkilendirilmiş bir C# dosyasıdır. Visual Studio araçları, CodeBehind dosyasını otomatik olarak sıkıştırıp gönderildikten sonra Azure depolama hesabınıza yükler. Tüm sınıflar genel olarak tanımlanmalı ve tüm nesneler statik genel olarak tanımlanmalıdır.
Çözüm Gezgini'ndeScript.asql dosyasını genişleterek Script.asaql.cs CodeBehind dosyasını bulun.
Kodu aşağıdaki örnekle değiştirin:
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; } } }
UDF'yi uygulama
Çözüm Gezgini'ndeScript.asaql dosyasını açın.
Var olan sorguyu aşağıdaki sorguyla değiştirin:
SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint)) INTO Output FROM Input
Yerel test
Çözüm Gezgini'ndeGirişler'i genişletin, Input.jsonsağ tıklayın ve Yerel Giriş Ekle'yi seçin.
İndirdiğiniz örnek veriler ve Kaydet için yerel giriş dosyası yolunu belirtin.
Betik düzenleyicisinde Yerel Olarak Çalıştır'a tıklayın. Yerel çalıştırma çıktı sonuçlarını başarıyla kaydettikten sonra, sonuçları tablo biçiminde görmek için herhangi bir tuşa basın.
Ham dosyaları JSON ve CSV biçiminde görmek için Sonuçlar Klasörünü Aç'ı da seçebilirsiniz.
UDF hatalarını ayıklama
C# UDF'nizde de standart C# kodunda hata ayıkladığınız gibi yerel olarak hata ayıklayabilirsiniz.
C# işlevinize kesme noktaları ekleyin.
Hata ayıklamayı başlatmak için F5 tuşuna basın. Program, kesme noktalarınızda beklendiği gibi durur.
İşinizi Azure'da yayımlama
Sorgunuzu yerel olarak test ettikten sonra, işi Azure'da yayımlamak için betik düzenleyicisinde Azure'a gönder'i seçin.
IoT Edge cihazlarına dağıtma
Stream Analytics Edge işi oluşturmayı seçerseniz, bu iş artık IoT Edge modülü olarak dağıtılabilir. IoT Edge hızlı başlangıcını izleyerek IoT Hub oluşturun, bir IoT Edge cihazı kaydedin ve cihazınıza IoT Edge çalışma zamanını yükleyin ve başlatın. Ardından Stream Analytics işinizi bir IoT Edge modülü olarak dağıtmak için işi dağıt öğreticisini izleyin.
Sonraki Adımlar
Bu öğreticide CodeBehind kullanarak basit bir C# kullanıcı tanımlı işlev oluşturdunuz, işinizi Azure'da yayımladınız ve işi Azure veya IoT Edge cihazına dağıttınız.
Stream Analytics işlerinde C# kullanıcı tanımlı işlevleri kullanmanın farklı yolları hakkında daha fazla bilgi edinmek için şu makaleye geçin: