Analiza mediów społecznościowych za pomocą usługi Azure Stream Analytics

W tym artykule pokazano, jak utworzyć rozwiązanie do analizy tonacji mediów społecznościowych, przenosząc zdarzenia usługi Twitter w czasie rzeczywistym do usługi Azure Event Hubs, a następnie analizując je przy użyciu usługi Stream Analytics. Napiszesz zapytanie usługi Azure Stream Analytics w celu przeanalizowania danych i przechowywania wyników do późniejszego użycia lub utworzenia pulpitu nawigacyjnego usługi Power BI w celu zapewnienia szczegółowych informacji w czasie rzeczywistym.

Narzędzia do analizy mediów społecznościowych ułatwiają organizacjom zrozumienie popularnych tematów. Popularne tematy to tematy i postawy, które mają dużą liczbę postów w mediach społecznościowych. Analiza tonacji, nazywana również wyszukiwaniami opinii, wykorzystuje narzędzia analizy mediów społecznościowych do określania postaw wobec produktu lub pomysłu.

Analiza trendów w czasie rzeczywistym w serwisie Twitter jest doskonałym przykładem narzędzia analitycznego, ponieważ model subskrypcji hashtag umożliwia nasłuchiwanie określonych słów kluczowych (hasztagów) i opracowywanie analizy tonacji kanału informacyjnego.

Scenariusz: Analiza tonacji mediów społecznościowych w czasie rzeczywistym

Firma, która ma witrynę internetową mediów informacyjnych, jest zainteresowana uzyskaniem przewagi nad swoimi konkurentami dzięki zawartości witryny, która jest natychmiast istotna dla swoich czytelników. Firma korzysta z analizy mediów społecznościowych na tematach, które są istotne dla czytelników, wykonując analizę tonacji w czasie rzeczywistym danych twitterowych.

Aby zidentyfikować popularne tematy w czasie rzeczywistym na Twitterze, firma potrzebuje analizy w czasie rzeczywistym na temat liczby tweetów i tonacji kluczowych tematów.

Wymagania wstępne

W tym przewodniku z instrukcjami użyjesz aplikacji klienckiej, która łączy się z usługą Twitter i szuka tweetów, które mają określone hasztagi (które można ustawić). Poniższa lista zawiera wymagania wstępne dotyczące uruchamiania aplikacji i analizowania tweetów przy użyciu usługi Azure Streaming Analytics.

Oto architektura rozwiązania, którą zamierzasz zaimplementować.

A diagram showing different pieces of services and applications used to build the solution.

Tworzenie centrum zdarzeń na potrzeby przesyłania strumieniowego danych wejściowych

Przykładowa aplikacja generuje zdarzenia i wypycha je do centrum zdarzeń. Usługa Azure Event Hubs jest preferowaną metodą pozyskiwania zdarzeń dla usługi Stream Analytics. Aby uzyskać więcej informacji, zobacz dokumentację usługi Azure Event Hubs.

Tworzenie przestrzeni nazw i centrum zdarzeń usługi Event Hubs

Postępuj zgodnie z instrukcjami z przewodnika Szybki start: tworzenie centrum zdarzeń przy użyciu witryny Azure Portal w celu utworzenia przestrzeni nazw usługi Event Hubs i centrum zdarzeń o nazwie socialtwitter-eh. Możesz użyć innej nazwy. Jeśli to zrobisz, zanotuj ją, ponieważ będzie potrzebna nazwa później. Nie musisz ustawiać żadnych innych opcji centrum zdarzeń.

Udzielanie dostępu do centrum zdarzeń

Zanim proces będzie mógł wysyłać dane do centrum zdarzeń, centrum zdarzeń wymaga zasad, które umożliwiają dostęp. Zasady dostępu generują parametry połączenia, które zawierają informacje o autoryzacji.

  1. Na pasku nawigacyjnym po lewej stronie przestrzeni nazw usługi Event Hubs wybierz pozycję Event Hubs, która znajduje się w sekcji Jednostki . Następnie wybierz właśnie utworzone centrum zdarzeń.

  2. Na pasku nawigacyjnym po lewej stronie wybierz pozycję Zasady dostępu współdzielonego znajdujące się w obszarze Ustawienia.

    Uwaga

    Istnieje opcja Zasady dostępu współdzielonego w obszarze przestrzeni nazw i centrum zdarzeń. Upewnij się, że pracujesz w kontekście centrum zdarzeń, a nie w przestrzeni nazw.

  3. Na stronie Zasady dostępu współdzielonego wybierz pozycję + Dodaj na pasku poleceń. Następnie wprowadź nazwę socialtwitter-accessdla nazwy zasad i zaznacz pole wyboru Zarządzaj .

  4. Wybierz pozycję Utwórz.

  5. Po wdrożeniu zasad wybierz zasady z listy zasad dostępu współdzielonego.

  6. Znajdź pole z etykietą Połączenie ion ciąg podstawowy i wybierz przycisk kopiowania obok parametry połączenia.

  7. Wklej parametry połączenia do edytora tekstu. Ta parametry połączenia będzie potrzebna w następnej sekcji po wprowadzeniu drobnych zmian.

Parametry połączenia wygląda następująco:

Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=socialtwitter-eh

Zwróć uwagę, że parametry połączenia zawiera wiele par klucz-wartość oddzielonych średnikami: Endpoint, , SharedAccessKeyNameSharedAccessKeyi EntityPath.

Uwaga

W przypadku zabezpieczeń usunięto części parametry połączenia w przykładzie.

Konfigurowanie i uruchamianie aplikacji klienckiej usługi Twitter

Aplikacja kliencka pobiera zdarzenia tweetów bezpośrednio z usługi Twitter. Aby to zrobić, musi mieć uprawnienia do wywoływania interfejsów API przesyłania strumieniowego w usłudze Twitter. Aby skonfigurować to uprawnienie, należy utworzyć aplikację w usłudze Twitter, która generuje unikatowe poświadczenia (takie jak token OAuth). Następnie można skonfigurować aplikację kliencą tak, aby korzystała z tych poświadczeń podczas wykonywania wywołań interfejsu API.

Tworzenie aplikacji usługi Twitter

Jeśli nie masz jeszcze aplikacji Twitter, której możesz użyć w tym przewodniku z instrukcjami, możesz je utworzyć. Musisz mieć już konto w serwisie Twitter.

Uwaga

Dokładny proces w usłudze Twitter dotyczący tworzenia aplikacji i pobierania kluczy, wpisów tajnych i tokenu może ulec zmianie. Jeśli te instrukcje nie są zgodne z tym, co widzisz w witrynie Twitter, zapoznaj się z dokumentacją dla deweloperów usługi Twitter.

  1. W przeglądarce internetowej przejdź do pozycji Twitter For Developers, utwórz konto dewelopera i wybierz pozycję Utwórz aplikację. Może zostać wyświetlony komunikat z informacją, że musisz ubiegać się o konto dewelopera twittera. Możesz to zrobić, a po zatwierdzeniu aplikacji powinna zostać wyświetlona wiadomość e-mail z potwierdzeniem. Zatwierdzenie konta dewelopera może potrwać kilka dni.

    Screenshot shows the Create an app button.

  2. Na stronie Create an application (Tworzenie aplikacji) podaj szczegóły nowej aplikacji, a następnie wybierz pozycję Create your Twitter application (Utwórz aplikację usługi Twitter).

    Screenshot shows the App details pane where you can enter values for your app.

  3. Na stronie aplikacji wybierz kartę Klucze i tokeny , a następnie skopiuj wartości klucza interfejsu API klienta i klucza tajnego interfejsu API konsumenta. Ponadto wybierz pozycję Utwórz w obszarze Token dostępu i Klucz tajny tokenu dostępu, aby wygenerować tokeny dostępu. Skopiuj wartości pól Access Token (Token dostępu) i Access Token Secret (Klucz tajny tokenu dostępu).

    Zapisz wartości dotyczące aplikacji usługi Twitter. Wartości będą potrzebne później.

Uwaga

Klucze i wpisy tajne dla aplikacji Twitter zapewniają dostęp do twojego konta w usłudze Twitter. Traktuj te informacje jako poufne, tak samo jak hasło w usłudze Twitter. Na przykład nie osadzaj tych informacji w aplikacji, którą udostępniasz innym osobom.

Konfigurowanie aplikacji klienckiej

Utworzyliśmy aplikację kliencką, która łączy się z danymi usługi Twitter przy użyciu interfejsów API przesyłania strumieniowego usługi Twitter w celu zbierania zdarzeń tweetów dotyczących określonego zestawu tematów.

Przed uruchomieniem aplikacji wymagane są pewne informacje, takie jak klucze usługi Twitter i centrum zdarzeń parametry połączenia.

  1. Upewnij się, że pobrano aplikację TwitterClientCore zgodnie z wymaganiami wstępnymi.

  2. Otwórz plik App.config za pomocą edytora tekstów. Wprowadź następujące zmiany w elemecie <appSettings> :

    • Ustaw oauth_consumer_key klucz użytkownika usługi Twitter (klucz interfejsu API).
    • Ustaw oauth_consumer_secret klucz tajny użytkownika usługi Twitter (klucz tajny interfejsu API).
    • Ustaw oauth_token wartość tokenu dostępu do usługi Twitter.
    • Ustaw oauth_token_secret klucz tajny tokenu dostępu do usługi Twitter.
    • Ustaw EventHubNameConnectionString wartość parametry połączenia.
    • Ustaw EventHubName nazwę centrum zdarzeń (jest to wartość ścieżki jednostki).
  3. Otwórz wiersz polecenia i przejdź do katalogu, w którym znajduje się aplikacja TwitterClientCore. Użyj polecenia dotnet build , aby skompilować projekt. Następnie użyj polecenia dotnet run , aby uruchomić aplikację. Aplikacja wysyła tweety do usługi Event Hubs.

Tworzenie zadania usługi Stream Analytics

Teraz, gdy zdarzenia tweetu są przesyłane strumieniowo w czasie rzeczywistym z usługi Twitter, możesz skonfigurować zadanie usługi Stream Analytics w celu analizowania tych zdarzeń w czasie rzeczywistym.

  1. W witrynie Azure Portal przejdź do grupy zasobów i wybierz pozycję + Dodaj. Następnie wyszukaj zadanie usługi Stream Analytics i wybierz pozycję Utwórz.

  2. Nazwij zadanie socialtwitter-sa-job i określ subskrypcję, grupę zasobów i lokalizację.

    Dobrym pomysłem jest umieszczenie zadania i centrum zdarzeń w tym samym regionie w celu uzyskania najlepszej wydajności, dzięki czemu nie płacisz za przesyłanie danych między regionami.

  3. Wybierz pozycję Utwórz. Następnie przejdź do zadania po zakończeniu wdrażania.

Określanie danych wejściowych zadania

  1. W zadaniu usługi Stream Analytics wybierz pozycję Dane wejściowe z menu po lewej stronie w obszarze Topologia zadań.

  2. Wybierz pozycję + Dodaj wejście>strumienia Centrum zdarzeń. Wypełnij formularz Nowe dane wejściowe następującymi informacjami:

    Ustawienie Sugerowana wartość Opis
    Alias danych wejściowych TwitterStream Wprowadź alias dla danych wejściowych.
    Subskrypcja <Twoja subskrypcja> Wybierz subskrypcję platformy Azure, której chcesz użyć.
    Przestrzeń nazw usługi Event Hubs asa-twitter-eventhub
    Nazwa centrum zdarzeń socialtwitter-eh Wybierz pozycję Użyj istniejącej. Następnie wybierz utworzone centrum zdarzeń.
    Typ kompresji zdarzeń Gzip Typ kompresji danych.

    Pozostaw pozostałe wartości domyślne i wybierz pozycję Zapisz.

Określanie zapytania zadania

Usługa Stream Analytics obsługuje prosty, deklaratywny model zapytań opisujący przekształcenia. Aby dowiedzieć się więcej na temat języka, zobacz Dokumentacja języka zapytań usługi Azure Stream Analytics. Ten przewodnik z instrukcjami ułatwia tworzenie i testowanie kilku zapytań dotyczących danych usługi Twitter.

Aby porównać liczbę wzmianek między tematami, możesz użyć okna Wirowania, aby uzyskać liczbę wzmianek według tematu co pięć sekund.

  1. W obszarze Przegląd zadania wybierz pozycję Edytuj zapytanie w prawym górnym rogu pola Zapytanie. Platforma Azure wyświetla listę danych wejściowych i wyjściowych skonfigurowanych dla zadania i umożliwia utworzenie zapytania w celu przekształcenia strumienia wejściowego w miarę wysyłania ich do danych wyjściowych.

  2. Zmień zapytanie w edytorze zapytań na następujące:

    SELECT *
    FROM TwitterStream
    
  3. Dane zdarzenia z komunikatów powinny być wyświetlane w oknie Podgląd danych wejściowych poniżej zapytania. Upewnij się, że dla widoku ustawiono format JSON. Jeśli nie widzisz żadnych danych, upewnij się, że generator danych wysyła zdarzenia do centrum zdarzeń i że wybrano Gzip jako typ kompresji dla danych wejściowych.

  4. Wybierz pozycję Zapytanie testowe i zwróć uwagę na wyniki w oknie Wyniki testu poniżej zapytania.

  5. Zmień zapytanie w edytorze kodu na następujące i wybierz pozycję Testuj zapytanie:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. To zapytanie zwraca wszystkie tweety zawierające słowo kluczowe Azure.

Tworzenie ujścia wyjściowego

Teraz zdefiniowano strumień zdarzeń, dane wejściowe centrum zdarzeń w celu pozyskiwania zdarzeń i zapytanie w celu wykonania przekształcenia w strumieniu. Ostatnim krokiem jest zdefiniowanie ujścia danych wyjściowych dla zadania.

W tym przewodniku z instrukcjami napiszesz zagregowane zdarzenia tweetu z zapytania zadania do usługi Azure Blob Storage. Możesz również wypchnąć wyniki do usługi Azure SQL Database, Azure Table Storage, Event Hubs lub Power BI, w zależności od potrzeb aplikacji.

Określanie danych wyjściowych zadania

  1. W sekcji Topologia zadania w menu nawigacji po lewej stronie wybierz pozycję Dane wyjściowe.

  2. Na stronie Dane wyjściowe wybierz pozycję + Dodaj i Magazyn obiektów blob/Data Lake Storage Gen2:

    • Alias danych wyjściowych: użyj nazwy TwitterStream-Output.
    • Opcje importu: wybierz pozycję Wybierz magazyn z subskrypcji.
    • Konto magazynu. Wybierz swoje konto magazynu.
    • Kontener. Wybierz pozycję Utwórz nową i wprowadź .socialtwitter
  3. Wybierz pozycję Zapisz.

Uruchamianie zadania

Określono dane wejściowe, zapytania i dane wyjściowe zadania. Wszystko jest gotowe do uruchomienia zadania usługi Stream Analytics.

  1. Upewnij się, że aplikacja TwitterClientCore jest uruchomiona.

  2. W przeglądzie zadania wybierz pozycję Uruchom.

  3. Na stronie Start job (Start job) w polu Job output start time (Godzina rozpoczęcia danych wyjściowych zadania) wybierz pozycję Now (Teraz), a następnie wybierz pozycję Start (Uruchom).

Uzyskiwanie pomocy technicznej

Aby uzyskać dalszą pomoc, wypróbuj stronę pytań i odpowiedzi firmy Microsoft dotyczącą usługi Azure Stream Analytics.

Następne kroki