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

Tworzenie niestandardowego deserializacji

  1. 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.

    Create Visual Studio dotnet standard class library project

  2. 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 .

  3. Dodaj klasę MessageBodyProto i klasę MessageBodyDeserializer do projektu.

  4. Skompiluj projekt Protobuf Deserializer .

Dodawanie projektu usługi Azure Stream Analytics

  1. 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.

  2. 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

  1. 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 >
  2. 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
  3. Dodaj następujące zapytanie do pliku Script.asaql .

    SELECT * FROM Input
    
  4. 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

  1. Otwórz plik Script.asaql i wybierz pozycję Uruchom lokalnie.

  2. 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.

  1. Kliknij prawym przyciskiem myszy nazwę projektu ProtobufCloudDeserializer i ustaw go jako projekt startowy.

  2. Dodaj punkty przerwania w funkcji.

  3. 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:

  1. W menu znajdującym się po lewej stronie w witrynie Azure Portal wybierz pozycję Grupy zasobów, a następnie wybierz nazwę utworzonego zasobu.

  2. 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: