Aracılığıyla paylaş


Azure Stream Analytics'te kullanıcı tanımlı işlevler

Azure Stream Analytics'teki SQL benzeri sorgu dili, akış verilerine gerçek zamanlı analiz mantığı uygulamayı kolaylaştırır. Stream Analytics, sorgunuzda çağrılan özel işlevler aracılığıyla ek esneklik sağlar. Aşağıdaki kod örneği, bir parametre kabul eden, her girişin işin aldığı ve sonucu çıkışa olarak sampleResultyazılan adlı sampleFunction bir UDF örneğidir.

SELECT 
    UDF.sampleFunction(InputStream) AS sampleResult 
INTO 
    output 
FROM 
    InputStream 

İşlev türleri

Azure Stream Analytics aşağıdaki dört işlev türünü destekler:

  • JavaScript kullanıcı tanımlı işlevleri
  • JavaScript kullanıcı tanımlı toplamalar
  • C# kullanıcı tanımlı işlevler (Visual Studio kullanarak)
  • Azure Machine Learning

Makine öğrenmesi modellerini kullanarak gerçek zamanlı puanlama, dize işlemeleri, karmaşık matematiksel hesaplamalar, kodlama ve kod çözme verileri gibi senaryolar için bu işlevleri kullanabilirsiniz.

Önemli

Azure Stream Analytics için C# 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.

Sınırlamalar

Kullanıcı tanımlı işlevler durum bilgisi yoktur ve dönüş değeri yalnızca skaler bir değer olabilir. Bu kullanıcı tanımlı işlevlerden dış REST uç noktalarına çağrı yapamazsınız çünkü işinizin performansını etkiler.

Azure Stream Analytics, tüm işlev çağrılarının ve döndürülen sonuçların kaydını tutmaz. Yinelenebilirliği garanti etmek için ( örneğin, işinizi eski zaman damgasından yeniden çalıştırmak aynı sonuçları yeniden üretir) veya Math.random()gibi Date.GetData() işlevleri kullanmayın çünkü bu işlevler her çağrı için aynı sonucu döndürmez.

Kaynak günlükleri

Tüm çalışma zamanı hataları önemli kabul edilir ve etkinlik ve kaynak günlükleri aracılığıyla ortaya çıkar. İşlevinizin tüm özel durumları ve hataları işlemesi ve sorgunuza geçerli bir sonuç döndürmesi önerilir. Bu, işinizin Başarısız durumuna geçmesini engeller.

Özel durumları işleme

Veri işleme sırasındaki herhangi bir özel durum, Azure Stream Analytics'te veri tüketilirken yıkıcı bir hata olarak kabul edilir. Kullanıcı tanımlı işlevlerin özel durumlar oluşturma ve işlemenin durmasına neden olma olasılığı daha yüksektir. Bu sorunu önlemek için kod yürütme sırasında özel durumları yakalamak için JavaScript veya C# dilinde try-catch bloğu kullanın. Yakalanan özel durumlar sistem hatasına neden olmadan günlüğe kaydedilebilir ve işlenebilir. İşleme altyapısına beklenmeyen özel durumlar oluşturmamak için özel kodunuzu her zaman try-catch bloğuna sarmalamanız tavsiye edilir.

Sonraki adımlar