Udostępnij za pośrednictwem


Wizualizowanie analizy danych w czasie rzeczywistym przy użyciu zestawienia zmian usługi Azure Cosmos DB

DOTYCZY: NoSQL

Źródło zmian usługi Azure Cosmos DB jest mechanizmem uzyskiwania ciągłego i przyrostowego źródła danych rekordów z kontenera usługi Azure Cosmos DB podczas tworzenia lub modyfikowania tych rekordów. Obsługa zestawienia zmian działa przez nasłuchiwanie kontenera pod kątem wszelkich zmian. Następnie tworzone są dane wyjściowe w postaci posortowanej listy zmienionych dokumentów w kolejności, w której zostały zmodyfikowane. Aby dowiedzieć się więcej na temat zestawienia zmian, zobacz artykuł dotyczący pracy z zestawieniem zmian.

W tym artykule opisano sposób użycia zestawienia zmian przez firmę zajmującą się handlem elektronicznym w celu zrozumienia wzorców użytkowników, przeprowadzania analizy danych i wizualizacji w czasie rzeczywistym. Przeanalizujesz zdarzenia, takie jak wyświetlanie elementu przez użytkownika, dodawanie elementu do koszyka lub kupowanie elementu. W przypadku wystąpienia jednego z tych zdarzeń zostanie utworzony nowy rekord i dzienniki tego rekordu zestawienia zmian. Następnie kanał informacyjny zmian wyzwala serię kroków, co powoduje wizualizację metryk, które analizują wydajność i działania firmy. Przykładowe metryki, które można wizualizować, obejmują przychody, unikatowych odwiedzających witrynę, najpopularniejsze elementy i średnią cenę elementów, które są wyświetlane, a nie dodane do koszyka i zakupione. Te przykładowe metryki mogą pomóc firmie zajmującej się handlem elektronicznym ocenić swoją popularność witryny, rozwijać swoje strategie reklamowe i cenowe oraz podejmować decyzje dotyczące tego, w jaki spis ma być inwestowany.

Składniki rozwiązania

Na poniższym diagramie przedstawiono przepływ danych i składniki związane z rozwiązaniem:

Wizualizacja projektu

  1. Generowanie danych: symulator danych służy do generowania danych detalicznych reprezentujących zdarzenia, takie jak wyświetlanie elementu przez użytkownika, dodawanie elementu do koszyka i kupowanie elementu. Możesz wygenerować duży zestaw przykładowych danych przy użyciu generatora danych. Wygenerowane przykładowe dane zawierają dokumenty w następującym formacie:

    {
      "CartID": 2486,
      "Action": "Viewed",
      "Item": "Women's Denim Jacket",
      "Price": 31.99
    }
    
  2. Azure Cosmos DB: wygenerowane dane są przechowywane w kontenerze usługi Azure Cosmos DB.

  3. Zestawienie zmian: kanał informacyjny zmian będzie nasłuchiwać zmian w kontenerze usługi Azure Cosmos DB. Za każdym razem, gdy nowy dokument zostanie dodany do kolekcji (czyli gdy wystąpi zdarzenie, takie jak wyświetlenie elementu przez użytkownika, dodanie elementu do koszyka lub zakup elementu), kanał informacyjny zmian wyzwoli funkcję platformy Azure.

  4. Funkcja platformy Azure: funkcja platformy Azure przetwarza nowe dane i wysyła je do usługi Azure Event Hubs.

  5. Centrum zdarzeń platformy Azure: centrum zdarzeń przechowuje te zdarzenia i wysyła je do usługi Azure Stream Analytics w celu przeprowadzenia dalszej analizy.

  6. Azure Stream Analytics: usługa Azure Stream Analytics definiuje zapytania do przetwarzania zdarzeń i przeprowadzania analizy danych w czasie rzeczywistym. Te dane są następnie wysyłane do usługi Microsoft Power BI.

  7. Power BI: usługa Power BI służy do wizualizowania danych wysyłanych przez usługę Azure Stream Analytics. Możesz utworzyć pulpit nawigacyjny, aby zobaczyć, jak metryki zmieniają się w czasie rzeczywistym.

Wymagania wstępne

  • Microsoft .NET Framework 4.7.1 lub nowszy

  • Microsoft .NET Core 2.1 (lub nowszy)

  • Program Visual Studio z programowaniem platforma uniwersalna systemu Windows, programowaniem aplikacji klasycznych platformy .NET oraz obciążeniami tworzenia aplikacji internetowych i ASP.NET

  • Subskrypcja platformy Microsoft Azure

  • Konto usługi Microsoft Power BI

  • Pobierz laboratorium zestawienia zmian usługi Azure Cosmos DB z usługi GitHub.

Tworzenie zasobów platformy Azure

Utwórz zasoby platformy Azure: Azure Cosmos DB, konto magazynu, centrum zdarzeń i usługę Stream Analytics wymagane przez rozwiązanie. Te zasoby zostaną wdrożone za pomocą szablonu usługi Azure Resource Manager. Aby wdrożyć te zasoby, wykonaj następujące czynności:

  1. Ustaw zasady wykonywania programu Windows PowerShell na Bez ograniczeń. W tym celu otwórz program Windows PowerShell jako administrator i uruchom następujące polecenia:

    Get-ExecutionPolicy
    Set-ExecutionPolicy Unrestricted 
    
  2. Z repozytorium GitHub pobranego w poprzednim kroku przejdź do folderu usługi Azure Resource Manager i otwórz plik o nazwie parameters.json .

  3. Podaj wartości parametrów cosmosdbaccount_name, , eventhubnamespace_namestorageaccount_namewskazanych w pliku parameters.json. Musisz później użyć nazw nadanych poszczególnym zasobom.

  4. W programie Windows PowerShell przejdź do folderu usługi Azure Resource Manager i uruchom następujące polecenie:

    .\deploy.ps1
    
  5. Po wyświetleniu monitu wprowadź identyfikator subskrypcji platformy Azure, zmieńfeedlab dla nazwy grupy zasobów i uruchom 1 jako nazwę wdrożenia. Po rozpoczęciu wdrażania zasobów ukończenie może potrwać do 10 minut.

Tworzenie bazy danych i kolekcji

Teraz utworzysz kolekcję do przechowywania zdarzeń witryny handlu elektronicznego. Gdy użytkownik wyświetla element, dodaje element do koszyka lub kupuje element, kolekcja otrzyma rekord zawierający akcję ("wyświetlona", "dodana" lub "zakupiona"), nazwę zaangażowanego elementu, cenę zaangażowanego elementu oraz numer identyfikacyjny zaangażowanego koszyka użytkownika.

  1. Przejdź do witryny Azure Portal i znajdź konto usługi Azure Cosmos DB, które zostało utworzone przez wdrożenie szablonu.

  2. W okienku Eksplorator danych wybierz pozycję Nowa kolekcja i wypełnij formularz następującymi szczegółami:

    • W polu Identyfikator bazy danych wybierz pozycję Utwórz nową, a następnie wprowadź wartość changefeedlabdatabase. Pozostaw niezaznaczone pole Aprowizowanie przepływności bazy danych.
    • W polu Identyfikator kolekcji wprowadź wartość changefeedlabcollection.
    • W polu Klucz partycji wprowadź /Item. Jest to uwzględniana wielkość liter, dlatego upewnij się, że wprowadzono ją poprawnie.
    • W polu Przepływność wprowadź wartość 10000.
    • Wybierz przycisk OK.
  3. Następnie utwórz kolejną kolekcję o nazwie dzierżawy na potrzeby przetwarzania zestawienia zmian. Kolekcja dzierżaw koordynuje przetwarzanie zestawienia zmian między wieloma procesami roboczymi. Oddzielna kolekcja służy do przechowywania dzierżaw z jedną dzierżawą na partycję.

  4. Wróć do okienka Eksplorator danych i wybierz pozycję Nowa kolekcja i wypełnij formularz następującymi szczegółami:

    • W polu Identyfikator bazy danych wybierz pozycję Użyj istniejącej, a następnie wprowadź wartość changefeedlabdatabase.
    • W polu Identyfikator kolekcji wprowadź dzierżawy.
    • W obszarze Pojemność magazynu wybierz pozycję Naprawiono.
    • Pozostaw wartość domyślną pola Przepływność .
    • Wybierz przycisk OK.

Pobieranie parametry połączenia i kluczy

Pobieranie parametry połączenia usługi Azure Cosmos DB

  1. Przejdź do witryny Azure Portal i znajdź konto usługi Azure Cosmos DB utworzone przez wdrożenie szablonu.

  2. Przejdź do okienka Klucze , skopiuj podstawowe parametry POŁĄCZENIA i skopiuj je do Notatnika lub innego dokumentu, do którego będziesz mieć dostęp w całym laboratorium. Należy oznaczyć je etykietą Parametry połączenia usługi Azure Cosmos DB. Musisz skopiować ciąg do kodu później, więc zanotuj i zapamiętaj, gdzie go przechowujesz.

Pobieranie klucza konta magazynu i parametry połączenia

Konta usługi Azure Storage umożliwiają użytkownikom przechowywanie danych. W tym laboratorium użyjesz konta magazynu do przechowywania danych używanych przez funkcję platformy Azure. Funkcja platformy Azure jest wyzwalana po wprowadzeniu wszelkich modyfikacji w kolekcji.

  1. Wróć do grupy zasobów i otwórz utworzone wcześniej konto magazynu

  2. Wybierz pozycję Klucze dostępu z menu po lewej stronie.

  3. Skopiuj wartości z klucza 1 do Notatnika lub innego dokumentu, do którego będziesz mieć dostęp w całym laboratorium. Należy oznaczyć klucz jako klucz magazynu i parametry połączenia jako parametry połączenia magazynu. Musisz skopiować te ciągi do kodu później, więc zanotuj i zapamiętaj, gdzie je przechowujesz.

Pobieranie parametry połączenia przestrzeni nazw centrum zdarzeń

Centrum zdarzeń platformy Azure odbiera dane zdarzeń, przechowuje, przetwarza i przekazuje dane. W tym laboratorium centrum zdarzeń będzie otrzymywać dokument za każdym razem, gdy wystąpi nowe zdarzenie (za każdym razem, gdy element zostanie wyświetlony przez użytkownika, dodany do koszyka użytkownika lub zakupiony przez użytkownika), a następnie przekaże ten dokument do usługi Azure Stream Analytics.

  1. Wróć do grupy zasobów i otwórz przestrzeń nazw usługi Event Hubs utworzoną i nazwaną w wersji wstępnej.

  2. Wybierz pozycję Zasady dostępu współdzielonego z menu po lewej stronie.

  3. Wybierz pozycję RootManageSharedAccessKey. Skopiuj klucz podstawowy parametrów połączenia do Notatnika lub innego dokumentu, do którego będziesz mieć dostęp w całym laboratorium. Należy oznaczyć ją etykietą Przestrzeń nazw centrum zdarzeń parametry połączenia. Musisz skopiować ciąg do kodu później, więc zanotuj i zapamiętaj, gdzie go przechowujesz.

Konfigurowanie funkcji platformy Azure w celu odczytania zestawienia zmian

Po utworzeniu nowego dokumentu lub zmodyfikowaniu bieżącego dokumentu w kontenerze usługi Azure Cosmos DB źródło zmian automatycznie dodaje zmodyfikowany dokument do historii zmian kolekcji. Teraz utworzysz i uruchomisz funkcję platformy Azure, która przetwarza zestawienie zmian. Po utworzeniu lub zmodyfikowaniu dokumentu w utworzonej kolekcji funkcja platformy Azure zostanie wyzwolona przez zestawienie zmian. Następnie funkcja platformy Azure wyśle zmodyfikowany dokument do centrum zdarzeń.

  1. Wróć do repozytorium sklonowanego na urządzeniu.

  2. Kliknij prawym przyciskiem myszy plik o nazwie ChangeFeedLabSolution.sln i wybierz polecenie Otwórz za pomocą programu Visual Studio.

  3. Przejdź do local.settings.json w programie Visual Studio. Następnie użyj zarejestrowanych wcześniej wartości, aby wypełnić puste wartości.

  4. Przejdź do ChangeFeedProcessor.cs. W parametrach funkcji Run wykonaj następujące akcje:

    • Zastąp tekst YOUR COLLECTION NAME HERE nazwą kolekcji. Jeśli wykonano wcześniejsze instrukcje, nazwa kolekcji to changefeedlabcollection.
    • Zastąp tekst NAZWA KOLEKCJI DZIERŻAW TUTAJ nazwą kolekcji dzierżaw. Jeśli wykonano wcześniejsze instrukcje, nazwa kolekcji dzierżaw to dzierżawy.
    • W górnej części programu Visual Studio upewnij się, że w polu Projekt startowy po lewej stronie zielonej strzałki jest wyświetlany tekst ChangeFeedFunction.
    • Wybierz pozycję Rozpocznij w górnej części strony, aby uruchomić program
    • Możesz potwierdzić, że funkcja jest uruchomiona, gdy w aplikacji konsolowej jest wyświetlany komunikat "Uruchamianie hosta zadań".

Wstawianie danych do usługi Azure Cosmos DB

Aby zobaczyć, jak zestawienie zmian przetwarza nowe akcje w witrynie handlu elektronicznego, należy symulować dane reprezentujące użytkowników wyświetlających elementy z katalogu produktów, dodając te elementy do koszyków i kupując elementy w koszykach. Te dane są dowolne i używane do replikowania danych w witrynie handlu elektronicznego.

  1. Wróć do repozytorium w Eksplorator plików, a następnie kliknij prawym przyciskiem myszy ChangeFeedFunction.sln, aby otworzyć je ponownie w nowym oknie programu Visual Studio.

  2. Przejdź do pliku App.config . <appSettings> W bloku dodaj punkt końcowy i unikatowy klucz PODSTAWOWY pobrany wcześniej na koncie usługi Azure Cosmos DB.

  3. Dodaj nazwy kolekcji i bazy danych. (Te nazwy powinny mieć nazwę changefeedlabcollection i changefeedlabdatabase , chyba że zdecydujesz się na inne nazwy).

    Aktualizowanie parametry połączenia

  4. Zapisz zmiany we wszystkich edytowanych plikach.

  5. W górnej części programu Visual Studio upewnij się, że pole Projekt startowy po lewej stronie zielonej strzałki ma wartość DataGenerator. Następnie wybierz pozycję Rozpocznij w górnej części strony, aby uruchomić program.

  6. Poczekaj na uruchomienie programu. Gwiazdy oznaczają, że dane nadchodzą! Zachowaj działanie programu — ważne jest, aby zebrano wiele danych.

  7. Jeśli przejdziesz do witryny Azure Portal , przejdź do konta usługi Azure Cosmos DB w grupie zasobów, a następnie do Eksploratora danych zobaczysz losowe dane zaimportowane w kolekcji changefeedlabcollection .

    Dane wygenerowane w portalu

Konfigurowanie zadania usługi Stream Analytics

Azure Stream Analytics to w pełni zarządzana usługa w chmurze do przetwarzania danych przesyłanych strumieniowo w czasie rzeczywistym. W tym laboratorium użyjesz usługi Stream Analytics do przetwarzania nowych zdarzeń z centrum zdarzeń (po wyświetleniu elementu, dodaniu do koszyka lub zakupieniu), włączeniu tych zdarzeń do analizy danych w czasie rzeczywistym i wysłaniu ich do usługi Power BI na potrzeby wizualizacji.

  1. W witrynie Azure Portal przejdź do grupy zasobów, a następnie wybierz pozycję streamjob1 (zadanie usługi Stream Analytics utworzone w wersji wstępnej).

  2. Wybierz pozycję Dane wejściowe, jak pokazano poniżej.

    Tworzenie danych wejściowych

  3. Wybierz pozycję + Dodaj dane wejściowe strumienia. Następnie wybierz pozycję Centrum zdarzeń z menu rozwijanego.

  4. Wypełnij nowy formularz wejściowy następującymi szczegółami:

    • W polu Alias wejściowy wprowadź dane wejściowe.
    • Wybierz opcję Wybierz centrum zdarzeń z subskrypcji.
    • Ustaw pole Subskrypcja na subskrypcję.
    • W polu Przestrzeń nazw usługi Event Hubs wprowadź nazwę przestrzeni nazw centrum zdarzeń utworzonej podczas wstępnej lekcji.
    • W polu Nazwa centrum zdarzeń wybierz opcję Użyj istniejącej i wybierz pozycję event-hub1 z menu rozwijanego.
    • Pozostaw pole Nazwa zasad centrum zdarzeń ustawione na wartość domyślną.
    • Pozostaw format serializacji zdarzeń w formacie JSON.
    • W polu Kodowanie pozostaw wartość UTF-8.
    • W polu Typ kompresji zdarzeń pozostaw wartość Brak.
    • Wybierz przycisk zapisywania.
  5. Wróć do strony zadania usługi Stream Analytics i wybierz pozycję Dane wyjściowe.

  6. Wybierz + Dodaj. Następnie wybierz pozycję Power BI z menu rozwijanego.

  7. Aby utworzyć nowe dane wyjściowe usługi Power BI w celu wizualizacji średniej ceny, wykonaj następujące akcje:

    • W polu Alias danych wyjściowych wprowadź wartość averagePriceOutput.
    • W polu Obszar roboczy grupy pozostaw wartość Autoryzowanie połączenia w celu załadowania obszarów roboczych.
    • W polu Nazwa zestawu danych wprowadź wartość averagePrice.
    • W polu Nazwa tabeli wprowadź wartość averagePrice.
    • Wybierz przycisk Autoryzuj, a następnie postępuj zgodnie z instrukcjami, aby autoryzować połączenie z usługą Power BI.
    • Wybierz przycisk zapisywania.
  8. Następnie wróć do funkcji streamjob1 i wybierz pozycję Edytuj zapytanie.

    Edytuj zapytanie

  9. Wklej następujące zapytanie w oknie zapytania. Zapytanie AVERAGE PRICE oblicza średnią cenę wszystkich elementów, które są wyświetlane przez użytkowników, średnią cenę wszystkich elementów dodanych do koszyków użytkowników oraz średnią cenę wszystkich elementów zakupionych przez użytkowników. Ta metryka może pomóc firmom handlu elektronicznego zdecydować, jakie ceny mają sprzedawać przedmioty i jakie zapasy mają być inwestowane. Jeśli na przykład średnia cena elementów wyświetlanych jest znacznie wyższa niż średnia cena zakupionych przedmiotów, firma może zdecydować się na dodanie mniej kosztownych przedmiotów do spisu.

    /*AVERAGE PRICE*/      
    SELECT System.TimeStamp AS Time, Action, AVG(Price)  
     INTO averagePriceOutput  
     FROM input  
     GROUP BY Action, TumblingWindow(second,5) 
    
  10. Następnie wybierz pozycję Zapisz w lewym górnym rogu.

  11. Teraz wróć do streamjob1 i wybierz przycisk Rozpocznij w górnej części strony. Uruchomienie usługi Azure Stream Analytics może potrwać kilka minut, ale w końcu zostanie wyświetlona zmiana z "Uruchamianie" na "Uruchomione".

Łączenie z usługą Power BI

Power BI to pakiet narzędzi biznesowych do analizowania danych i dzielenia się spostrzeżeniami. Jest to doskonały przykład sposobu, w jaki można strategicznie wizualizować analizowane dane.

  1. Zaloguj się do usługi Power BI i przejdź do obszaru Mój obszar roboczy , otwierając menu po lewej stronie.

  2. Wybierz pozycję + Utwórz w prawym górnym rogu, a następnie wybierz pozycję Pulpit nawigacyjny , aby utworzyć pulpit nawigacyjny.

  3. Wybierz pozycję + Dodaj kafelek w prawym górnym rogu.

  4. Wybierz pozycję Niestandardowe dane przesyłania strumieniowego , a następnie wybierz przycisk Dalej .

  5. Wybierz pozycję averagePrice z zestawu danych, a następnie wybierz pozycję Dalej.

  6. W polu Typ wizualizacji wybierz pozycję Wykres słupkowy grupowany z menu rozwijanego. W obszarze dodaj akcję. Pomiń legendę bez dodawania niczego. Następnie w następnej sekcji o nazwie Wartość dodaj średni. Wybierz pozycję Dalej, a następnie nadaj tytuł wykresowi, a następnie wybierz pozycję Zastosuj. Na pulpicie nawigacyjnym powinien zostać wyświetlony nowy wykres.

  7. Teraz, jeśli chcesz zwizualizować więcej metryk, możesz wrócić do usługi streamjob1 i utworzyć trzy kolejne dane wyjściowe z następującymi polami.

    a. Alias danych wyjściowych: incomingRevenueOutput, Nazwa zestawu danych: incomingRevenue, Nazwa tabeli: incomingRevenue
    b. Alias danych wyjściowych: top5Output, Nazwa zestawu danych: top5, Nazwa tabeli: top5
    c. Alias danych wyjściowych: uniqueVisitorCountOutput, Nazwa zestawu danych: uniqueVisitorCount, Nazwa tabeli: uniqueVisitorCount

    Następnie wybierz pozycję Edytuj zapytanie i wklej następujące zapytania powyżej utworzonej wcześniej kwerendy.

     /*TOP 5*/
     WITH Counter AS
     (
     SELECT Item, Price, Action, COUNT(*) AS countEvents
     FROM input
     WHERE Action = 'Purchased'
     GROUP BY Item, Price, Action, TumblingWindow(second,30)
     ), 
     top5 AS
     (
     SELECT DISTINCT
     CollectTop(5)  OVER (ORDER BY countEvents) AS topEvent
     FROM Counter
     GROUP BY TumblingWindow(second,30)
     ), 
     arrayselect AS 
     (
     SELECT arrayElement.ArrayValue
     FROM top5
     CROSS APPLY GetArrayElements(top5.topevent) AS arrayElement
     ) 
     SELECT arrayvalue.value.item, arrayvalue.value.price,   arrayvalue.value.countEvents
     INTO top5Output
     FROM arrayselect
    
     /*REVENUE*/
     SELECT System.TimeStamp AS Time, SUM(Price)
     INTO incomingRevenueOutput
     FROM input
     WHERE Action = 'Purchased'
     GROUP BY TumblingWindow(hour, 1)
    
     /*UNIQUE VISITORS*/
     SELECT System.TimeStamp AS Time, COUNT(DISTINCT CartID) as uniqueVisitors
     INTO uniqueVisitorCountOutput
     FROM input
     GROUP BY TumblingWindow(second, 5)
    

    Zapytanie TOP 5 oblicza pięć pierwszych elementów sklasyfikowanych według liczby zakupionych elementów. Ta metryka może pomóc firmom handlu elektronicznego ocenić, które elementy są najbardziej popularne i mogą mieć wpływ na reklamy, ceny i decyzje dotyczące zapasów firmy.

    Zapytanie REVENUE oblicza przychód, sumując ceny wszystkich przedmiotów zakupionych w każdej minucie. Ta metryka może pomóc firmom handlu elektronicznego ocenić swoje wyniki finansowe, a także zrozumieć, jakie godziny dnia przyczyniają się do większości przychodów. Może to mieć wpływ na ogólną strategię firmy, w szczególności marketing.

    Zapytanie UNIQUE VISITORS oblicza liczbę unikatowych odwiedzających witrynę co pięć sekund, wykrywając unikatowy identyfikator koszyka. Ta metryka może pomóc firmom handlu elektronicznego ocenić swoją aktywność w witrynie i strategię sposobu pozyskiwania większej liczby klientów.

  8. Teraz możesz dodawać kafelki dla tych zestawów danych.

    • W przypadku pozycji Top 5 warto wykonać wykres kolumnowy grupowany z elementami jako osią i liczbą jako wartością.
    • W obszarze Revenue (Przychód) warto wykonać wykres liniowy z czasem jako osią i sumą cen jako wartości. Przedział czasu wyświetlania powinien być największym możliwym elementem w celu dostarczenia jak największej ilości informacji.
    • W przypadku unikatowych odwiedzających warto wykonać wizualizację karty z liczbą unikatowych odwiedzających jako wartością.

    W ten sposób przykładowy pulpit nawigacyjny wygląda z następującymi wykresami:

    Zrzut ekranu przedstawia przykładowy pulpit nawigacyjny z wykresami o nazwie Average Price of Items by Action (Średnia cena elementów według akcji), Unique Visitors (Unikatowy odwiedzający), Revenue (Przychód) i Top 5 Items Purchased (5 pierwszych zakupionych elementów).

Opcjonalnie: Wizualizowanie za pomocą witryny handlu elektronicznego

Teraz zobaczysz, jak można użyć nowego narzędzia do analizy danych w celu nawiązania połączenia z prawdziwą witryną handlu elektronicznego. Aby utworzyć witrynę handlu elektronicznego, użyj bazy danych usługi Azure Cosmos DB do przechowywania listy kategorii produktów, katalogu produktów i listy najpopularniejszych elementów.

  1. Wróć do witryny Azure Portal, a następnie przejdź do swojego konta usługi Azure Cosmos DB, a następnie do eksploratora danych.

    Dodaj dwie kolekcje w obszarze changefeedlabdatabase - products and categories with Fixed Storage capacity (Stałe miejsce do magazynowania).

    Dodaj kolejną kolekcję w obszarze changefeedlabdatabase o nazwie topItems i /Item jako klucz partycji.

  2. Wybierz kolekcję topItems, a w obszarze Skalowanie i ustawienia ustaw wartość Czas wygaśnięcia na wartość 30 sekund, aby aktualizacje topItems co 30 sekund.

    Time to live (Czas wygaśnięcia)

  3. Aby wypełnić kolekcję topItems najczęściej zakupionymi elementami, wróć do pozycji streamjob1 i dodaj nowe dane wyjściowe. Wybierz pozycję Azure Cosmos DB.

  4. Wypełnij wymagane pola, jak pokazano poniżej.

    Dane wyjściowe usługi Azure Cosmos DB

  5. Jeśli dodano opcjonalne zapytanie TOP 5 w poprzedniej części laboratorium, przejdź do części 5a. Jeśli nie, przejdź do części 5b.

    5a. W usłudze streamjob1 wybierz pozycję Edytuj zapytanie i wklej następujące zapytanie w edytorze zapytań usługi Azure Stream Analytics poniżej zapytania TOP 5, ale powyżej pozostałych zapytań.

    SELECT arrayvalue.value.item AS Item, arrayvalue.value.price, arrayvalue.value.countEvents
    INTO topItems
    FROM arrayselect
    

    5b. W usłudze streamjob1 wybierz pozycję Edytuj zapytanie i wklej następujące zapytanie w edytorze zapytań usługi Azure Stream Analytics powyżej wszystkich innych zapytań.

    /*TOP 5*/
    WITH Counter AS
    (
    SELECT Item, Price, Action, COUNT(*) AS countEvents
    FROM input
    WHERE Action = 'Purchased'
    GROUP BY Item, Price, Action, TumblingWindow(second,30)
    ), 
    top5 AS
    (
    SELECT DISTINCT
    CollectTop(5)  OVER (ORDER BY countEvents) AS topEvent
    FROM Counter
    GROUP BY TumblingWindow(second,30)
    ), 
    arrayselect AS 
    (
    SELECT arrayElement.ArrayValue
    FROM top5
    CROSS APPLY GetArrayElements(top5.topevent) AS arrayElement
    ) 
    SELECT arrayvalue.value.item AS Item, arrayvalue.value.price, arrayvalue.value.countEvents
    INTO topItems
    FROM arrayselect
    
  6. Otwórz EcommerceWebApp.sln i przejdź do pliku Web.config w Eksplorator rozwiązań.

  7. <appSettings> W bloku dodaj zapisany wcześniej identyfikator URI i KLUCZ PODSTAWOWY, w którym jest wyświetlany identyfikator URI w tym miejscu i klucz podstawowy. Następnie dodaj nazwę bazy danych i nazwę kolekcji zgodnie z opisem. (Te nazwy powinny mieć nazwę changefeedlabdatabase i changefeedlabcollection , chyba że wybrano inne nazwy).

    Wprowadź nazwę kolekcji produktów, nazwę kolekcji kategorii i nazwę kolekcji najważniejszych elementów, jak wskazano. (Te nazwy powinny być produktami, kategoriami i topItems , chyba że wybrano inne nazwy).

  8. Przejdź do folderu Wyewidencjonuj i otwórz go w EcommerceWebApp.sln. Następnie otwórz plik Web.config w tym folderze.

  9. <appSettings> W bloku dodaj wcześniej zapisany identyfikator URI i KLUCZ PODSTAWOWY. Następnie dodaj nazwę bazy danych i nazwę kolekcji zgodnie z opisem. (Te nazwy powinny mieć nazwę changefeedlabdatabase i changefeedlabcollection , chyba że wybrano inne nazwy).

  10. Naciśnij przycisk Start w górnej części strony, aby uruchomić program.

  11. Teraz możesz grać w witrynie handlu elektronicznego. Po wyświetleniu elementu dodaj element do koszyka, zmień ilość elementu w koszyku lub kupisz element, te zdarzenia zostaną przekazane za pośrednictwem zestawienia zmian usługi Azure Cosmos DB do centrum zdarzeń, usługi Stream Analytics, a następnie usługi Power BI. Zalecamy kontynuowanie uruchamiania modułu DataGenerator w celu generowania znaczących danych ruchu internetowego i zapewnienia realistycznego zestawu "Gorących produktów" w witrynie handlu elektronicznego.

Usuwanie zasobów

Aby usunąć zasoby utworzone podczas tego laboratorium, przejdź do grupy zasobów w witrynie Azure Portal, a następnie wybierz pozycję Usuń grupę zasobów z menu w górnej części strony i postępuj zgodnie z podanymi instrukcjami.

Następne kroki