Udostępnij za pośrednictwem


Materializowanie danych w usłudze Azure Cosmos DB przy użyciu edytora kodu usługi Stream Analytics

W tym artykule opisano, jak łatwo utworzyć zadanie usługi Stream Analytics za pomocą edytora kodu bez edytora kodu. Zadanie jest stale odczytywane z usługi Event Hubs i wykonuje agregacje, takie jak liczba, suma i średnia. Wybierasz pola do grupowania według w przedziale czasu, a następnie zadanie zapisuje wyniki w sposób ciągły w usłudze Azure Cosmos DB.

Wymagania wstępne

  • Zasoby usług Azure Event Hubs i Azure Cosmos DB muszą być publicznie dostępne i nie mogą znajdować się za zaporą ani zabezpieczone w usłudze Azure Virtual Network.
  • Dane w usłudze Event Hubs muszą być serializowane w formacie JSON, CSV lub Avro.

Opracowywanie zadania usługi Stream Analytics

Wykonaj poniższe kroki, aby opracować zadanie usługi Stream Analytics w celu zmaterializowania danych w usłudze Azure Cosmos DB.

  1. W witrynie Azure Portal znajdź i wybierz wystąpienie usługi Azure Event Hubs.
  2. W obszarze Funkcje wybierz pozycję Przetwarzanie danych. Następnie wybierz pozycję Rozpocznij na karcie zatytułowanej Materialize Data in Azure Cosmos DB (Zmaterializuj dane w usłudze Azure Cosmos DB).
    Zrzut ekranu przedstawiający Przepływ danych Rozpocznij materializowanie.
  3. Wprowadź nazwę zadania i wybierz pozycję Utwórz.
  4. Określ typ serializacji danych w centrum zdarzeń i metodę uwierzytelniania, która zostanie użyta do nawiązania połączenia z usługą Event Hubs. Następnie wybierz pozycję Połącz.
  5. Jeśli połączenie zakończy się pomyślnie i masz strumienie danych przepływające do wystąpienia usługi Event Hubs, natychmiast zobaczysz dwie rzeczy:
    • Pola, które znajdują się w ładunku wejściowym. Wybierz symbol z trzema kropkami obok pola opcjonalnie usuń, zmień nazwę lub zmień typ danych pola.
      Zrzut ekranu przedstawiający pola centrum zdarzeń danych wejściowych do przejrzenia.
    • Przykład danych wejściowych w dolnym okienku w obszarze Podgląd danych, który okresowo odświeża się automatycznie. Jeśli wolisz mieć statyczny widok przykładowych danych wejściowych, możesz wybrać opcję Wstrzymaj podgląd przesyłania strumieniowego.
      Zrzut ekranu przedstawiający przykładowe dane wejściowe.
  6. W następnym kroku określisz pole i agregację , którą chcesz obliczyć, na przykład Średnia i Liczba. Możesz również określić pole, według którego chcesz grupować, wraz z przedziałem czasu. Następnie możesz zweryfikować wyniki kroku w sekcji Podgląd danych.
    Zrzut ekranu przedstawiający obszar Grupuj według.
  7. Wybierz bazę danych i kontener usługi Cosmos DB, w którym mają być zapisywane wyniki.
  8. Uruchom zadanie usługi Stream Analytics, wybierając pozycję Uruchom.
    Zrzut ekranu przedstawiający definicję, w której wybierzesz pozycję Rozpocznij.
    Aby uruchomić zadanie, należy określić:
    • Liczba jednostek przesyłania strumieniowego (SU) uruchamianych przez zadanie. Jednostki SU reprezentują ilość zasobów obliczeniowych i pamięci przydzielonych do zadania. Zalecamy rozpoczęcie od trzech i dostosowanie zgodnie z potrzebami.
    • Obsługa błędów danych wyjściowych umożliwia określenie zachowania, gdy dane wyjściowe zadania do miejsca docelowego kończą się niepowodzeniem z powodu błędów danych. Domyślnie zadanie ponawia próbę, dopóki operacja zapisu nie powiedzie się. Możesz również zrezygnować ze zdarzeń wyjściowych.
  9. Po wybraniu pozycji Uruchom zadanie zostanie uruchomione w ciągu dwóch minut. Wyświetl zadanie w sekcji Przetwarzanie danych na karcie Zadania usługi Stream Analytics. Możesz eksplorować metryki zadań i zatrzymywać je i uruchamiać ponownie zgodnie z potrzebami.

Zagadnienia dotyczące korzystania z funkcji replikacji geograficznej usługi Event Hubs

Usługa Azure Event Hubs niedawno uruchomiła funkcję replikacji geograficznej w publicznej wersji zapoznawczej. Ta funkcja różni się od funkcji odzyskiwania po awarii geograficznej w usłudze Azure Event Hubs.

Gdy typ trybu failover jest wymuszony , a spójność replikacji jest asynchroniczna, zadanie usługi Stream Analytics nie gwarantuje dokładnie raz danych wyjściowych danych wyjściowych usługi Azure Event Hubs.

Usługa Azure Stream Analytics, jako producent z centrum zdarzeń, może obserwować opóźnienie limitu w zadaniu w czasie trwania pracy w trybie failover i podczas ograniczania przepustowości przez usługę Event Hubs w przypadku opóźnienia replikacji między główną i pomocniczą osiąga maksymalne skonfigurowane opóźnienie.

Usługa Azure Stream Analytics, jako użytkownik z usługą Event Hubs jako dane wejściowe, może obserwować opóźnienie limitu w zadaniu podczas trwania trybu failover i może pominąć dane lub znaleźć zduplikowane dane po zakończeniu pracy w trybie failover.

Ze względu na te zastrzeżenia zalecamy ponowne uruchomienie zadania usługi Stream Analytics z odpowiednim czasem rozpoczęcia bezpośrednio po zakończeniu pracy w trybie failover usługi Event Hubs. Ponadto, ponieważ funkcja replikacji geograficznej usługi Event Hubs jest dostępna w publicznej wersji zapoznawczej, nie zalecamy używania tego wzorca dla produkcyjnych zadań usługi Stream Analytics. Bieżące zachowanie usługi Stream Analytics poprawi się, zanim funkcja replikacji geograficznej usługi Event Hubs będzie ogólnie dostępna i może być używana w zadaniach produkcyjnych usługi Stream Analytics.

Następne kroki

Teraz wiesz, jak używać edytora kodu usługi Stream Analytics do tworzenia zadania, które odczytuje z usługi Event Hubs i oblicza agregacje, takie jak liczniki, średnie i zapisują je w zasobie usługi Azure Cosmos DB.