Niestandardowe deserializatory platformy .NET dla usługi Azure Stream Analytics w programie Visual Studio (wersja zapoznawcza)
Ważne
Deserializator niestandardowy platformy .net dla usługi Azure Stream Analytics zostanie wycofany 30 września 2024 r. Po tej dacie nie będzie można używać tej funkcji. Przejdź do wbudowanego deserializacji plików JSON, AVRO lub CSV według tej daty.
Usługa Azure Stream Analytics ma wbudowaną obsługę trzech formatów danych: JSON, CSV i Avro. Za pomocą niestandardowych deserializacji platformy .NET można odczytywać dane z innych formatów, takich jak bufor protokołu, bond i inne formaty zdefiniowane przez użytkownika zarówno dla zadań chmury, jak i brzegowych.
W tym samouczku pokazano, jak utworzyć niestandardowy deserializator platformy .NET dla zadania chmury usługi Azure Stream Analytics przy użyciu programu Visual Studio. Aby dowiedzieć się, jak utworzyć deserializatory platformy .NET w programie Visual Studio Code, zobacz Create .NET deserializers for Azure Stream Analytics jobs in Visual Studio Code (Tworzenie deserializacji platformy .NET dla zadań usługi Azure Stream Analytics w programie Visual Studio Code).
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Utwórz niestandardowy deserializator dla buforu protokołu.
- Tworzenie zadania usługi Azure Stream Analytics w programie Visual Studio.
- Skonfiguruj zadanie usługi Stream Analytics tak, aby używało niestandardowego deserializacji.
- Uruchom zadanie usługi Stream Analytics lokalnie, aby przetestować i debugować niestandardowy deserializator.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto.
Zainstaluj program Visual Studio 2019 (zalecane) lub Program Visual Studio 2017. Obsługiwane są wersje Enterprise (Ultimate/Premium), Professional i Community. Wersja Express nie jest obsługiwana.
Zainstaluj narzędzia usługi Stream Analytics dla programu Visual Studio lub zaktualizuj je do najnowszej wersji.
Otwórz program Cloud Explorer w programie Visual Studio i zaloguj się do subskrypcji platformy Azure.
Utwórz kontener na koncie usługi Azure Storage. Utworzony kontener będzie używany do przechowywania zasobów związanych z zadaniem usługi Stream Analytics. Jeśli masz już konto magazynu z istniejącymi kontenerami, możesz go użyć. Jeśli nie, musisz utworzyć nowy kontener.
Tworzenie niestandardowego deserializacji
Otwórz program Visual Studio i wybierz pozycję Plik > nowy > projekt. Wyszukaj usługę Stream Analytics i wybierz pozycję Projekt deserializatora niestandardowego usługi Azure Stream Analytics (.NET). Nadaj projektowi nazwę, taką jak Protobuf Deserializer.
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt Protobuf Deserializer i wybierz polecenie Zarządzaj pakietami NuGet z menu. Następnie zainstaluj pakiety NuGet Microsoft.Azure.StreamAnalytics i Google.Protobuf .
Dodaj klasę MessageBodyProto i klasę MessageBodyDeserializer do projektu.
Skompiluj projekt Protobuf Deserializer .
Dodawanie projektu usługi Azure Stream Analytics
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy rozwiązanie Protobuf Deserializer i wybierz polecenie Dodaj > nowy projekt. W obszarze Azure Stream Analytics Stream Analytics >wybierz pozycję Aplikacja usługi Azure Stream Analytics. Nadaj mu nazwę ProtobufCloudDeserializer i wybierz przycisk OK.
Kliknij prawym przyciskiem myszy pozycję Odwołania w projekcie ProtobufCloudDeserializer usługi Azure Stream Analytics. W obszarze Projekty dodaj program Protobuf Deserializer. Powinna zostać automatycznie wypełniona.
Konfigurowanie zadania usługi Stream Analytics
Kliknij dwukrotnie JobConfig.json. Użyj domyślnych konfiguracji z wyjątkiem następujących ustawień:
Ustawienie Sugerowana wartość Zasób Ustawienia magazynu globalnego Wybierz źródło danych z bieżącego konta Subskrypcja usługi Storage globalnej Ustawienia < Twoja subskrypcja > Globalne konto magazynu Ustawienia magazynu < konto magazynu > Zasób Ustawienia magazynu kodu niestandardowego Wybierz źródło danych z bieżącego konta Niestandardowe konto magazynu kodu Ustawienia magazynu < konto magazynu > Niestandardowy kontener Ustawienia magazynu kodu < kontener magazynu > W obszarze Dane wejściowe kliknij dwukrotnie Input.json. Użyj domyślnych konfiguracji z wyjątkiem następujących ustawień:
Ustawienie Sugerowana wartość Źródło Blob Storage Zasób Wybierz źródło danych z bieżącego konta Subskrypcja < Twoja subskrypcja > Konto magazynu < konto magazynu > Kontener < kontener magazynu > Format serializacji zdarzeń Inne (Protobuf, XML, zastrzeżone...) Zasób Ładowanie z dokumentacji projektu asa lub codeBehind Nazwa zestawu CSharp ProtobufDeserializer.dll Nazwa klasy MessageBodyProto.MessageBodyDeserializer Typ kompresji zdarzenia Brak Dodaj następujące zapytanie do pliku Script.asaql .
SELECT * FROM Input
Pobierz przykładowy plik wejściowy protobuf. W folderze Dane wejściowe kliknij prawym przyciskiem myszy Input.json i wybierz polecenie Dodaj lokalne dane wejściowe. Następnie kliknij dwukrotnie local_Input.json i skonfiguruj następujące ustawienia:
Ustawienie Sugerowana wartość Alias danych wejściowych Dane wejściowe Typ źródła Strumień danych Format serializacji zdarzeń Inne (Protobuf, XML, zastrzeżone...) Nazwa zestawu CSharp ProtobufDeserializer.dll Nazwa klasy MessageBodyProto.MessageBodyDeserializer Ścieżka lokalnego pliku wejściowego < ścieżka pliku pobranego przykładowego pliku wejściowego protobuf>
Wykonywanie zadania usługi Stream Analytics
Otwórz plik Script.asaql i wybierz pozycję Uruchom lokalnie.
Obserwuj wyniki w lokalnych wynikach uruchamiania usługi Stream Analytics.
Pomyślnie zaimplementowano niestandardowy deserializator dla zadania usługi Stream Analytics. W tym samouczku przetestowano lokalnie niestandardowy deserializator. W przypadku rzeczywistych danych należy prawidłowo skonfigurować dane wejściowe i wyjściowe. Następnie prześlij zadanie do platformy Azure z programu Visual Studio, aby uruchomić zadanie w chmurze przy użyciu właśnie zaimplementowanego deserializacji niestandardowego.
Debugowanie deserializacji
Deserializacji platformy .NET można debugować lokalnie w taki sam sposób, jak podczas debugowania standardowego kodu platformy .NET.
Kliknij prawym przyciskiem myszy nazwę projektu ProtobufCloudDeserializer i ustaw go jako projekt startowy.
Dodaj punkty przerwania w funkcji.
Naciśnij klawisz F5, aby uruchomić debugowanie. Zgodnie z oczekiwaniami program będzie zatrzymywać się w punktach przerwania.
Czyszczenie zasobów
Gdy grupa zasobów, zadanie przesyłania strumieniowego i wszystkie pokrewne zasoby nie będą już potrzebne, usuń je. Usunięcie zadania pozwala uniknąć opłat za jednostki przesyłania strumieniowego zużywane przez zadanie. Jeśli planujesz użyć zadania w przyszłości, możesz je zatrzymać i uruchomić ponownie później, gdy będzie potrzebne. Jeśli nie zamierzasz w przyszłości korzystać z tego zadania, wykonaj następujące kroki, aby usunąć wszystkie zasoby utworzone w ramach tego samouczka:
W menu znajdującym się po lewej stronie w witrynie Azure Portal wybierz pozycję Grupy zasobów, a następnie wybierz nazwę utworzonego zasobu.
Na stronie grupy zasobów wybierz pozycję Usuń, wpisz w polu tekstowym nazwę zasobu do usunięcia, a następnie wybierz pozycję Usuń.
Następne kroki
W tym samouczku przedstawiono sposób implementowania niestandardowego deserializatora platformy .NET na potrzeby serializacji wejściowej buforu protokołu. Aby dowiedzieć się więcej na temat tworzenia niestandardowych deserializacji, przejdź do następującego artykułu: