Aracılığıyla paylaş


Azure Stream Analytics'te kullanıcı tanımlı işlevlerde hata ayıklama

Kullanıcı tanımlı işlevler (UDF) beklediğiniz gibi çalışmadığında, sorunu bulmak için bunların hatalarını ayıklamanız gerekir. İşlerinizi Visual Studio Code veya Visual Studio kullanarak yerel olarak çalıştırdığınızda Stream Analytics işleriniz için UDF'lerde hata ayıklayabilirsiniz.

İşinizi yerel olarak bir canlı giriş akışında çalıştırdığınızda, yalnızca bir düğümde bulut Azure Stream Analytics altyapısının yürütülmesini taklit eder. Canlı veri yerel testi, bulutta yaptığınız performans ve ölçeklenebilirlik testlerinin yerini almaz, ancak her test etmek istediğinizde işinizi buluta göndermek zorunda kalmadan işlevsel test sırasında zaman kazanırsınız. Ayrıca, yerel veya örnek verilerle yerel çalıştırma için zaman ilkeleri devre dışı bırakılır, ancak canlı veri testi için zaman ilkeleri desteklenir.

Dilinizi seçin

.NET (C#) veya JavaScript kullanarak Azure Stream Analytics için UDF yazabilirsiniz.

C'deki İşlevler#

Visual Studio kullanarak .NET UDF'leri yazdığınızda, tüm .NET sınıf projelerinde yaptığınız destek düzeyiyle aynı düzeyde destek alırsınız. Bu destek şunları içerir:

  • Söz dizimi denetimi ve derleyici desteği gibi derleme desteği.

  • Stream Analytics çözümünüzde C# projesi ve yapıtları ekleme, derleme ve bunlara başvurma olanağı.

  • Paylaşılabilir bir projede kapsüllenmiş kodun kolay yeniden kullanımı.

  • Doğrudan Visual Studio'da hata ayıklama desteği. Stream Analytics projesini başlangıç projesi olarak ayarlayın ve C# kodunda kesme noktaları ayarlayın. Ardından, diğer C# projelerine yaptığınız gibi C# kodunda hata ayıklamak için F5 tuşuna basın.

JavaScript'teki İşlevler

JavaScript, Stream Analytics'te işlev oluşturmaya yönelik bir diğer seçenektir. JavaScript kodu doğrudan Stream Analytics projesinin işlev alanına yerleştirilir ve bu da projeler arasında paylaşımı zorlaştırır.

Derleme, Stream Analytics projesi derlendiğinde veya yürütülürken gerçekleşir. Yalnızca çalışma zamanında bir sorun bulma şansı daha yüksektir. Doğrudan Stream Analytics'te JavaScript işlevleri için hata ayıklama desteği yoktur.

JavaScript için hata ayıklama seçenekleri

Stream Analytics'te JavaScript işlevleri için doğrudan hata ayıklama desteği olmadığından, işlevi bir HTML sitesinde kapsülleyerek ve çıkışı oradan alarak hata ayıklayabilirsiniz.

Aşağıdaki örnek, Visual Studio Code'daki tümleşik çalışma zamanı ortamında bazı sınırlamalarla JavaScript UDF'lerinde hata ayıklamayı gösterir.

Önkoşullar

Başlamadan önce Azure Stream Analytics projenizde aşağıdaki öğelerin olduğundan emin olun:

  • Giriş
  • Çıkış
  • Stream Analytics sorgusu (.asaql)
  • Stream Analytics iş yapılandırması (JobConfig.json)
  • A JavaScript UDF

Dosyaları hazırlama

Aşağıdaki görüntüde .asaql sorgu dosyası yalnızca UDF, fxcharCount çağrısı içerir. Bu değişiklik, değişiklikler yapıldıktan sonra projeyi derlemeye devam edebilmenizi sağlar.

Stream Analytics test sorgusu dosyası

Test dosyasını barındırmak için Testler'de, testi JavaScript işleviyle yürütmek için çağrılan ek bir klasör oluşturun. Bu örnekte klasörün adı fxcharCount , testin adı ise Test_UDF.js.

Aşağıdaki görüntüde, işlev dosyasını yükleyen ve işlevi yürüten test dosyasındaki kod gösterilmektedir. Bu örnek basittir, ancak çıkışı almak için ek test veri dosyalarını yükleyebilir ve döngü oluşturabilirsiniz. Dosyaya başvuruldu ve çalışma zamanına yüklenmediğinden işlev çağrısının gösterimi yaygın çağrılardan çok az farklıdır ve hata ayıklamayı mümkün hale getirir.

Stream Analytics test dosyası

İşlevde, yöntemleri kullanıma açmak için aşağıdaki kod satırlarını dosyasına ekleyin. Visual Studio Code'da kodu derleme özelliğini etkilemez.

var methods = {};
methods.fxchartCount = fxchartCount;
exports.data = methods;

Stream Analytics JavaScript UDF

Hata ayıklama desteğini yükleme

Hata ayıklamak için node.js indirip yüklemeniz gerekir. Kullandığınız platforma göre doğru sürümü yükleyin. Node.js çalışma zamanını yükledikten sonra, değişiklikleri uygulamak için Visual Studio Code'u yeniden başlatın.

Çalıştır ve Hata Ayıkla'ya tıklayın veya hata ayıklamayı başlatmak için CTRL + SHIFT + D tuşlarına basın. Çalışma zamanı olarak node.js seçebileceğiniz bir birleşik giriş kutusu görüntülenir. Yalnızca Node.js yüklediyseniz, varsayılan olarak kullanılır. F11 ile gerekirse kodda ve uydu dosyasında adım adım ilerleyebilmeniz gerekir.

Stream Analytics çalıştırma ve udf hatalarını ayıklama

Kullanıcı tanımlı toplamalarda hata ayıklama

Kullanıcı tanımlı toplamalarda (UDA) hata ayıklamak için JavaScript UDF'leri için hata ayıklama yöntemini kullanabilirsiniz. Bu örnekte, .asaql sorgu dosyasına ve test dosyasına bir UDA eklenir.

UDF'de olduğu gibi, değişiklikler yapıldıktan sonra projenin derlendiğinden emin olmak için UDA'ya bir çağrı eklersiniz.

asaql'a uda ekleme

Test_UDA.js dosyasında, UDF'de yaptığınız gibi UDA dosyasına başvurursunuz. Buna ek olarak, , init()ve accumulate()çağrılarını main()da eklersiniz. accumulate() yöntemi, değerleri durum yığınına koymak için bir döngüde çağrılır. yöntemi computeresult() , son sorguyu oluşturmak için çağrılır.

UDA test dosyası

UDF örneğinde olduğu gibi, ilgili yöntemleri kullanıma sunmaları için UDA'nın kendisine bazı kodların eklenmesi gerekir.

var methods = {};
methods.main = main;
methods.init = main.init;
methods.accumulate = main.accumulate;
methods.computeResult = main.computeResult;
exports.data = methods;

UDA'ya kod eklendi

Çalıştır ve Hata Ayıkla'ya tıklayın veya hata ayıklamayı başlatmak için CTRL + SHIFT + D tuşlarına basın. Çalışma zamanı olarak node.js seçebileceğiniz bir birleşik giriş kutusu görüntülenir. Yalnızca Node.js yüklediyseniz, varsayılan olarak kullanılır. F11 ile gerekirse kodda ve uydu dosyasında adım adım ilerleyebilmeniz gerekir.

Stream Analytics çalıştırma ve uda hatalarını ayıklama

Sonraki adımlar