Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli funkcje zdefiniowane przez użytkownika (UDF) nie działają zgodnie z oczekiwaniami, należy je debugować, aby znaleźć problem. Funkcje zdefiniowane przez użytkownika można debugować dla zadań usługi Stream Analytics podczas uruchamiania zadań lokalnie przy użyciu programu Visual Studio Code lub Visual Studio.
Po uruchomieniu zadania względem strumienia danych wejściowych na żywo lokalnie naśladuje tylko wykonywanie aparatu usługi Azure Stream Analytics w chmurze w jednym węźle. Lokalne testowanie danych na żywo nie może zastąpić testów wydajności i skalowalności, które wykonujesz w chmurze, ale oszczędzasz czas podczas testowania funkcjonalnego, nie trzeba przesyłać zadania do chmury za każdym razem, gdy chcesz przetestować. Ponadto zasady czasu są wyłączone dla lokalnego uruchamiania z danymi lokalnymi lub przykładowymi, ale zasady czasu są obsługiwane na potrzeby testowania danych na żywo.
Wybieranie języka
Funkcje zdefiniowane przez użytkownika dla usługi Azure Stream Analytics można napisać przy użyciu platformy .NET (C#) lub języka JavaScript.
Funkcje w języku C#
Podczas pisania funkcji zdefiniowanych przez użytkownika platformy .NET przy użyciu programu Visual Studio uzyskasz taki sam poziom obsługi, jak w przypadku dowolnego projektu klasy platformy .NET. Ta obsługa obejmuje:
Obsługa kompilacji, taka jak sprawdzanie składni i obsługa kompilatora.
Możliwość dodawania, kompilowania i odwołowania się do projektu i artefaktów języka C# w rozwiązaniu usługi Stream Analytics.
Łatwe ponowne użycie kodu hermetyzowanego w projekcie z możliwością udostępniania.
Debugowanie obsługi bezpośrednio w programie Visual Studio. Ustaw projekt usługi Stream Analytics jako projekt początkowy i ustaw punkty przerwania w kodzie języka C#. Następnie naciśnij F5 , aby debugować kod języka C#, tak jak w przypadku dowolnego innego projektu języka C#.
Funkcje w języku JavaScript
JavaScript to kolejna opcja tworzenia funkcji w usłudze Stream Analytics. Kod JavaScript jest bezpośrednio umieszczany w obszarze funkcji projektu usługi Stream Analytics, co sprawia, że udostępnianie w projektach jest trudniejsze.
Kompilacja odbywa się po skompilowaniu lub wykonaniu projektu usługi Stream Analytics. Prawdopodobieństwo znalezienia problemu tylko w czasie wykonywania jest wyższe. Brak obsługi debugowania funkcji Języka JavaScript bezpośrednio w usłudze Stream Analytics.
Opcje debugowania dla języka JavaScript
Ponieważ funkcja JavaScript w usłudze Stream Analytics nie obsługuje debugowania bezpośrednio, możesz debugować, hermetyzując funkcję w witrynie HTML i uzyskując dane wyjściowe z tego miejsca.
W poniższym przykładzie pokazano, jak debugować funkcje zdefiniowane przez użytkownika w języku JavaScript z pewnymi ograniczeniami w zintegrowanym środowisku uruchomieniowym w programie Visual Studio Code.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że projekt usługi Azure Stream Analytics zawiera następujące elementy:
- Dane wejściowe
- Dane wyjściowe
- Zapytanie usługi Stream Analytics (asaql)
- Konfiguracja zadania usługi Stream Analytics (JobConfig.json)
- Funkcja UDF języka JavaScript
Przygotowywanie plików
Na poniższej ilustracji plik zapytania asaql zawiera tylko wywołanie funkcji UDF, fxcharCount. Ta zmiana gwarantuje, że po wprowadzeniu zmian nadal będzie można skompilować projekt.
Utwórz dodatkowy folder w obszarze Testy w celu hostowania pliku testowego, który jest wywoływany w celu wykonania testu za pomocą funkcji JavaScript. W tym przykładzie nazwa folderu to fxcharCount , a nazwa testu jest Test_UDF.js.
Na poniższej ilustracji przedstawiono kod w pliku testowym, który ładuje plik funkcji i wykonuje funkcję. Ten przykład jest prosty, ale można załadować dodatkowe pliki danych testowych i wykonać pętlę, choć dodatkowe testy w celu uzyskania danych wyjściowych. Notacja wywołania funkcji różni się nieco od typowych wywołań, ponieważ plik jest przywoływany i nie jest ładowany do środowiska uruchomieniowego, co umożliwia debugowanie.
W funkcji dodaj następujące wiersze kodu do pliku, aby uwidocznić metody. Nie mają wpływu na możliwość kompilowania kodu w programie Visual Studio Code.
var methods = {};
methods.fxchartCount = fxchartCount;
exports.data = methods;
Instalowanie obsługi debugowania
Aby debugować, należy pobrać i zainstalować node.js. Zainstaluj poprawną wersję zgodnie z używaną platformą. Po zainstalowaniu środowiska uruchomieniowego Node.js ponownie uruchom program Visual Studio Code, aby zaimplementować zmiany.
Wybierz pozycję Uruchom i debuguj lub naciśnij CTRL + SHIFT + D , aby rozpocząć debugowanie. Zostanie wyświetlone pole kombi, w którym można wybrać node.js jako środowisko uruchomieniowe. Jeśli zainstalowano tylko Node.js, jest on używany domyślnie. W razie potrzeby należy przejść przez kod i do pliku satelitarnego przy użyciu F11.
Debugowanie agregacji zdefiniowanych przez użytkownika
Możesz użyć metody debugowania dla funkcji UDF języka JavaScript do debugowania agregacji zdefiniowanych przez użytkownika (UDA). W tym przykładzie do pliku zapytania asaql i pliku testowego jest dodawany uda.
Podobnie jak w przypadku funkcji zdefiniowanej przez użytkownika, należy dołączyć wywołanie do uda, aby upewnić się, że projekt zostanie skompilowany po wprowadzeniu zmian.
W pliku Test_UDA.js odwołujesz się do pliku UDA, tak jak w przypadku funkcji zdefiniowanej przez użytkownika. Ponadto wywołujesz metody main()
, init()
i accumulate()
. Metoda accumulate()
jest wywoływana w pętli, aby umieścić wartości w stosie stanu. Metoda jest wywoływana computeresult()
w celu skomponowania końcowego zapytania.
Podobnie jak w przykładzie funkcji zdefiniowanej przez użytkownika, do samego uda należy dodać kod, aby uwidocznić odpowiednie metody.
var methods = {};
methods.main = main;
methods.init = main.init;
methods.accumulate = main.accumulate;
methods.computeResult = main.computeResult;
exports.data = methods;
Wybierz pozycję Uruchom i debuguj lub naciśnij CTRL + SHIFT + D , aby rozpocząć debugowanie. Zostanie wyświetlone pole kombi, w którym można wybrać node.js jako środowisko uruchomieniowe. Jeśli zainstalowano tylko Node.js, jest on używany domyślnie. W razie potrzeby należy przejść przez kod i do pliku satelitarnego przy użyciu F11.