Twitter-Standpunktanalyse in Echtzeit in Azure Stream AnalyticsReal-time Twitter sentiment analysis in Azure Stream Analytics

Erfahren Sie, wie Sie eine Lösung für Standpunktanalysen zur Analyse sozialer Medien durch die Einbindung von Twitter-Echtzeitereignissen in Azure Event Hubs erstellen können.Learn how to build a sentiment analysis solution for social media analytics by bringing real-time Twitter events into Azure Event Hubs. Schreiben Sie dann eine Azure Stream Analytics-Abfrage, um die Daten zu analysieren, und speichern Sie die Ergebnisse zur späteren Verwendung, oder erstellen Sie ein Power BI-Dashboard, um Einblicke in Echtzeit zu ermöglichen.Then write an Azure Stream Analytics query to analyze the data and store the results for later use or create a Power BI dashboard to provide insights in real time.

Analysetools für soziale Medien können Unternehmen helfen, Trendthemen zu verstehen.Social media analytics tools help organizations understand trending topics. Bei beliebten Themen handelt es sich um Themen und Einstellungen mit einer hohen Anzahl von Beiträgen in sozialen Medien.Trending topics are subjects and attitudes that have a high volume of posts on social media. Für die Standpunktanalyse – auch als Opinion Mining bezeichnet – werden Analysetools für soziale Medien verwendet, um Einstellungen zu einem Produkt, einer Idee usw. zu bestimmen.Sentiment analysis, which is also called opinion mining, uses social media analytics tools to determine attitudes toward a product or idea.

Die Twitter-Trendanalyse in Echtzeit ist ein gutes Beispiel für ein Analysetool, da das Hashtag-Abonnementmodell es Ihnen ermöglicht, bestimmte Schlüsselwörter (Hashtags) zu berücksichtigen und eine Standpunktanalyse für den Feed zu entwickeln.Real-time Twitter trend analysis is a great example of an analytics tool because the hashtag subscription model enables you to listen to specific keywords (hashtags) and develop sentiment analysis of the feed.

Szenario: Standpunktanalyse für soziale Medien in EchtzeitScenario: Social media sentiment analysis in real time

Ein Unternehmen, das über eine Nachrichtenwebsite verfügt, ist daran interessiert, sich durch Seiteninhalte mit direkter Relevanz für die Leser gegenüber der Konkurrenz einen Vorteil zu verschaffen.A company that has a news media website is interested in gaining an advantage over its competitors by featuring site content that is immediately relevant to its readers. Das Unternehmen verwendet eine Analyse sozialer Medien für Themen mit Relevanz für Leser und führt dazu Standpunktanalysen von Twitter-Daten in Echtzeit durch.The company uses social media analysis on topics that are relevant to readers by doing real-time sentiment analysis of Twitter data.

Das Unternehmen benötigt Echtzeitanalysen des Tweet-Umfangs und der Stimmung im Hinblick auf wichtige Themen, um zu erkennen, welche Themen sich auf Twitter in Echtzeit zu Trendthemen entwickeln.To identify trending topics in real time on Twitter, the company needs real-time analytics about the tweet volume and sentiment for key topics.

VoraussetzungenPrerequisites

In dieser Schrittanleitung verwenden Sie eine Clientanwendung, die eine Verbindung mit Twitter herstellt und nach Tweets mit bestimmten Hashtags sucht (die Sie festlegen können).In this how-to guide, you use a client application that connects to Twitter and looks for tweets that have certain hashtags (which you can set). Um die Anwendung auszuführen und die Tweets mit Azure Stream Analytics zu analysieren, benötigen Sie Folgendes:To run the application and analyze the tweets using Azure Streaming Analytics, you must have the following:

  • Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen.If you don't have an Azure subscription, create a free account.
  • Ein Twitter-KontoA Twitter account.
  • Die Anwendung TwitterWPFClient, die den Twitter-Feed liest.The TwitterWPFClient application, which reads the Twitter feed. Um diese Anwendung zu beziehen, laden Sie über GitHub die Datei TwitterWPFClient.zip herunter, und entzippen Sie das Paket in einem Ordner auf Ihrem Computer.To get this application, download the TwitterWPFClient.zip file from GitHub and then unzip the package into a folder on your computer. Wenn Sie den Quellcode prüfen und die Anwendung in einem Debugger ausführen möchten, können Sie den Quellcode über GitHub beziehen.If you want to see the source code and run the application in a debugger, you can get the source code from GitHub.

Erstellen eines Event Hubs für die Stream Analytics-EingabeCreate an event hub for Streaming Analytics input

Die Beispielanwendung generiert Ereignisse und überträgt sie mithilfe von Push an einen Azure Event Hub.The sample application generates events and pushes them to an Azure event hub. Azure Event Hubs sind die bevorzugte Methode zur Ereigniserfassung für Stream Analytics.Azure event hubs are the preferred method of event ingestion for Stream Analytics. Weitere Informationen finden Sie in der Dokumentation zu Azure Event Hubs.For more information, see the Azure Event Hubs documentation.

Erstellen eines Event Hub-Namespace und eines Event HubsCreate an event hub namespace and event hub

Erstellen Sie einen Event Hub-Namespace, und fügen Sie diesem Namespace dann einen Event Hub hinzu.Create an event hub namespace, and then add an event hub to that namespace. Event Hub-Namespaces werden verwendet, um verwandte Ereignisbusinstanzen logisch zu gruppieren.Event hub namespaces are used to logically group related event bus instances.

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressource erstellen > Internet der Dinge > Event Hub.Log in to the Azure portal and click Create a resource > Internet of Things > Event Hub.

  2. Geben Sie auf dem Blatt Namespace erstellen einen Namen für den Namespace ein (z.B. <yourname>-socialtwitter-eh-ns).In the Create namespace blade, enter a namespace name such as <yourname>-socialtwitter-eh-ns. Sie können einen beliebigen Namen für den Namespace verwenden. Der Name muss lediglich für eine URL gültig und innerhalb von Azure eindeutig sein.You can use any name for the namespace, but the name must be valid for a URL and it must be unique across Azure.

  3. Wählen Sie ein Abonnement aus, und erstellen oder wählen Sie eine Ressourcengruppe. Klicken Sie dann auf Erstellen.Select a subscription and create or choose a resource group, then click Create.

    Erstellen eines Event Hub-Namespace

  4. Wenn die Bereitstellung des Namespace abgeschlossen ist, suchen Sie in Ihrer Liste der Azure-Ressourcen den Event Hub-Namespace.When the namespace has finished deploying, find the event hub namespace in your list of Azure resources.

  5. Klicken Sie auf den neuen Namespace, und wählen Sie auf dem Blatt „Namespace“ + Event Hub aus.Click the new namespace, and in the namespace blade, click + Event Hub.

    Schaltfläche „Event Hub hinzufügen“ zum Erstellen eines neuen Event Hubs

  6. Vergeben Sie einen Namen für den neuen Event Hub socialtwitter-eh.Name the new event hub socialtwitter-eh. Sie können auch einen anderen Namen verwenden.You can use a different name. In diesem Fall sollten Sie sich den Namen notieren, da Sie ihn später noch benötigen.If you do, make a note of it, because you need the name later. Sie müssen keine weiteren Optionen für den Event Hub festlegen.You don't need to set any other options for the event hub.

    Blatt zum Erstellen eines neuen Event Hubs

  7. Klicken Sie auf Erstellen.Click Create.

Gewähren des Zugriffs auf den Event HubGrant access to the event hub

Damit ein Prozess Daten an einen Event Hub senden kann, muss der Event Hub mit einer Richtlinie versehen sein, die einen entsprechenden Zugriff ermöglicht.Before a process can send data to an event hub, the event hub must have a policy that allows appropriate access. Die Zugriffsrichtlinie erzeugt eine Verbindungszeichenfolge, die Autorisierungsinformationen enthält.The access policy produces a connection string that includes authorization information.

  1. Klicken Sie auf dem Blatt „Ereignis-Namespace“ auf Event Hubs und dann auf den Namen Ihres neuen Event Hubs.In the event namespace blade, click Event Hubs and then click the name of your new event hub.

  2. Klicken Sie auf dem Blatt „Event Hub“ auf SAS-Richtlinien und dann auf + Hinzufügen.In the event hub blade, click Shared access policies and then click + Add.

    Hinweis

    Stellen Sie sicher, dass Sie mit dem Event Hub arbeiten und nicht mit dem Event Hub-Namespace.Make sure you're working with the event hub, not the event hub namespace.

  3. Fügen Sie die Richtlinie namens socialtwitter-access hinzu, und wählen Sie für Anspruch die Option Verwalten.Add a policy named socialtwitter-access and for Claim, select Manage.

    Blatt zum Erstellen einer neuen Event Hub-Zugriffsrichtlinie

  4. Klicken Sie auf Erstellen.Click Create.

  5. Nachdem die Richtlinie bereitgestellt wurde, klicken sie in der Liste der SAS-Richtlinien darauf.After the policy has been deployed, click it in the list of shared access policies.

  6. Navigieren Sie zum Feld VERBINDUNGSZEICHENFOLGE – PRIMÄRSCHLÜSSEL, und klicken Sie neben der Verbindungszeichenfolge auf die Schaltfläche „Kopieren“.Find the box labeled CONNECTION STRING-PRIMARY KEY and click the copy button next to the connection string.

    Kopieren des Primärschlüssels der Verbindungszeichenfolge aus der Zugriffsrichtlinie

  7. Fügen Sie die Verbindungszeichenfolge in einen Texteditor ein.Paste the connection string into a text editor. Sie benötigen diese Verbindungszeichenfolge für den nächsten Abschnitt, nachdem Sie einige kleine Änderungen vorgenommen haben.You need this connection string for the next section, after you make some small edits to it.

    Die Verbindungszeichenfolge sieht folgendermaßen aus:The connection string looks like this:

    Endpoint=sb://YOURNAME-socialtwitter-eh-ns.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=Gw2NFZw6r...FxKbXaC2op6a0ZsPkI=;EntityPath=socialtwitter-eh
    

    Beachten Sie, dass die Verbindungszeichenfolge mehrere durch ein Semikolon getrennte Schlüssel/Wert-Paare enthält: Endpoint, SharedAccessKeyName, SharedAccessKey und EntityPath.Notice that the connection string contains multiple key-value pairs, separated with semicolons: Endpoint, SharedAccessKeyName, SharedAccessKey, and EntityPath.

    Hinweis

    Aus Sicherheitsgründen wurden Teile der Verbindungszeichenfolge in dem Beispiel entfernt.For security, parts of the connection string in the example have been removed.

  8. Entfernen Sie im Texteditor das EntityPath-Paar aus der Verbindungszeichenfolge (denken Sie daran, das vorangehende Semikolon zu entfernen).In the text editor, remove the EntityPath pair from the connection string (don't forget to remove the semicolon that precedes it). Danach sieht die Verbindungszeichenfolge folgendermaßen aus:When you're done, the connection string looks like this:

    Endpoint=sb://YOURNAME-socialtwitter-eh-ns.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=Gw2NFZw6r...FxKbXaC2op6a0ZsPkI=
    

Konfigurieren und Starten der Twitter-ClientanwendungConfigure and start the Twitter client application

Die Clientanwendung ruft Tweet-Ereignisse direkt über Twitter ab.The client application gets tweet events directly from Twitter. Zu diesem Zweck benötigt die Anwendung die Berechtigung zum Aufrufen der Streaming-APIs von Twitter.In order to do so, it needs permission to call the Twitter Streaming APIs. Um diese Berechtigung zu konfigurieren, erstellen Sie eine Anwendung in Twitter, die eindeutige Anmeldeinformationen (z.B. ein OAuth-Token) generiert.To configure that permission, you create an application in Twitter, which generates unique credentials (such as an OAuth token). Sie können die Clientanwendung dann so konfigurieren, dass diese Anmeldeinformationen bei API-Aufrufen verwendet werden.You can then configure the client application to use these credentials when it makes API calls.

Erstellen einer Twitter-AnwendungCreate a Twitter application

Wenn Sie noch keine Twitter-Anwendung besitzen, die Sie für diese Schrittanleitung verwenden können, können Sie eine erstellen.If you do not already have a Twitter application that you can use for this how-to guide, you can create one. Sie müssen bereits über ein Twitter-Konto verfügen.You must already have a Twitter account.

Hinweis

Der genaue Vorgang in Twitter zum Erstellen einer Anwendung und zum Abrufen der Schlüssel, Geheimnisse und des Tokens kann variieren.The exact process in Twitter for creating an application and getting the keys, secrets, and token might change. Wenn diese Anweisungen nicht der Twitter-Website entsprechen, lesen Sie die Twitter-Entwicklerdokumentation.If these instructions don't match what you see on the Twitter site, refer to the Twitter developer documentation.

  1. Wechseln Sie in einem Webbrowser zu Twitter For Developers, und wählen Sie App erstellen aus.From a web browser, go to Twitter For Developers, and select Create an app. Möglicherweise wird eine Meldung angezeigt, dass Sie ein Twitter-Entwicklerkonto beantragen müssen.You might see a message saying that you need to apply for a Twitter developer account. Zögern Sie nicht, diese Anfrage zu übermitteln, und nachdem sie genehmigt wurde, sollten Sie eine Bestätigungs-E-Mail erhalten.Feel free to do so, and after your application has been approved you should see a confirmation email. Es kann mehrere Tage dauern, bis die Genehmigung für ein Entwicklerkonto erfolgt ist.It could take several days to be approved for a developer account.

    Bestätigung für Twitter-EntwicklerkontoTwitter developer account confirmation

    Twitter-AnwendungsdetailsTwitter application details

  2. Geben Sie auf der Seite Create an application (Anwendung erstellen) die Details für die neue App an, und klicken Sie anschließend auf Create your Twitter application (Twitter-Anwendung erstellen).In the Create an application page, provide the details for the new app, and then select Create your Twitter application.

    Twitter-AnwendungsdetailsTwitter application details

  3. Klicken Sie auf der Anwendungsseite auf die Registerkarte Keys and Tokens (Schlüssel und Token), und kopieren Sie die Werte für Consumer API Key (Consumer-API-Schlüssel) und Consumer API Secret (Consumer-API-Geheimnis).In the application page, select the Keys and Tokens tab and copy the values for Consumer API Key and Consumer API Secret Key. Wählen Sie außerdem Erstellen unter Access Token und Access Token Secret (Zugriffstoken und Zugriffstokengeheimnis) aus, um die Zugriffstoken zu generieren.Also, select Create under Access Token and Access Token Secret to generate the access tokens. Kopieren Sie die Werte für Access Token (Zugriffstoken) und Access Token Secret (Zugriffstokengeheimnis).Copy the values for Access Token and Access Token Secret.

    Twitter-AnwendungsdetailsTwitter application details

Speichern Sie die Werte, die Sie für die Twitter-Anwendung abgerufen haben.Save the values that you retrieved for the Twitter application. Diese Werte werden im weiteren Verlauf der Schrittanleitung benötigt.You need the values later in the how-to.

Hinweis

Die Schlüssel und Geheimnisse für die Twitter-Anwendung ermöglichen Zugriff auf Ihr Twitter-Konto.The keys and secrets for the Twitter application provide access to your Twitter account. Behandeln Sie diese Informationen vertraulich, so wie Sie es auch bei Ihrem Twitter-Kennwort tun.Treat this information as sensitive, the same as you do your Twitter password. Betten Sie diese Informationen beispielsweise nicht in eine Anwendung ein, die Sie anderen Benutzern zur Verfügung stellen.For example, don't embed this information in an application that you give to others.

Konfigurieren der ClientanwendungConfigure the client application

Wir haben eine Clientanwendung erstellt, die über die Streaming-APIs von Twitter eine Verbindung mit Twitter-Daten herstellt, um Tweet-Ereignisse zu einer bestimmten Reihe von Themen zu sammeln.We've created a client application that connects to Twitter data using Twitter's Streaming APIs to collect tweet events about a specific set of topics. Die Anwendung verwendet das Open-Source-Tool Sentiment140, das jedem Tweet folgenden Stimmungswert zuweist:The application uses the Sentiment140 open source tool, which assigns the following sentiment value to each tweet:

  • 0 = negativ0 = negative
  • 2 = neutral2 = neutral
  • 4 = positiv4 = positive

Nachdem den Tweet-Ereignissen ein Stimmungswert zugewiesen wurde, werden sie mithilfe von Push an den Event Hub übertragen, den Sie zuvor erstellt haben.After the tweet events have been assigned a sentiment value, they are pushed to the event hub that you created earlier.

Bevor die Anwendung ausgeführt wird, benötigt diese bestimmte Informationen von Ihnen, wie etwa die Twitter-Schlüssel und die Event Hub-Verbindungszeichenfolge.Before the application runs, it requires certain information from you, like the Twitter keys and the event hub connection string. Sie können die Konfigurationsinformationen auf folgende Arten bereitstellen:You can provide the configuration information in these ways:

  • Führen Sie die Anwendung aus, und geben Sie dann auf der Benutzeroberfläche der Anwendung die Schlüssel, die Geheimnisse und die Verbindungszeichenfolge ein.Run the application, and then use the application's UI to enter the keys, secrets, and connection string. In diesem Fall werden die Konfigurationsinformationen für die aktuelle Sitzung verwendet, jedoch nicht gespeichert.If you do this, the configuration information is used for your current session, but it isn't saved.
  • Bearbeiten Sie die Konfigurationsdatei der Anwendung, und legen Sie darin die Werte fest.Edit the application's .config file and set the values there. Bei diesem Ansatz werden die Konfigurationsinformationen beibehalten. Damit einher geht jedoch auch der Umstand, dass diese potenziell vertraulichen Informationen im Nur-Text-Format auf Ihrem Computer gespeichert werden.This approach persists the configuration information, but it also means that this potentially sensitive information is stored in plain text on your computer.

Im folgenden Verfahren werden beide Ansätze beschrieben.The following procedure documents both approaches.

  1. Stellen Sie sicher, dass Sie die Anwendung TwitterWPFClient.zip heruntergeladen und entzippt haben, wie in den Voraussetzungen beschrieben wird.Make sure you've downloaded and unzipped the TwitterWPFClient.zip application, as listed in the prerequisites.

  2. Um die Werte zur Runtime (und nur für die aktuelle Sitzung) festzulegen, führen Sie die Anwendung TwitterWPFClient.exe aus.To set the values at run time (and only for the current session), run the TwitterWPFClient.exe application. Geben Sie bei entsprechender Aufforderung durch die Anwendung folgende Werte ein:When the application prompts you, enter the following values:

    • Den Twitter-Consumerschlüssel (API-Schlüssel)The Twitter Consumer Key (API Key).
    • Das Twitter-Consumergeheimnis (API-Geheimnis)The Twitter Consumer Secret (API Secret).
    • Das Twitter-ZugriffstokenThe Twitter Access Token.
    • Das Twitter-Geheimnis für das ZugriffstokenThe Twitter Access Token Secret.
    • Die Informationen zur Verbindungszeichenfolge, die Sie zuvor gespeichert haben.The connection string information that you saved earlier. Stellen Sie sicher, dass Sie die Verbindungszeichenfolge verwenden, aus der Sie das Schlüssel/Wert-Paar EntityPath entfernt haben.Make sure that you use the connection string that you removed the EntityPath key-value pair from.
    • Die Twitter-Schlüsselwörter, für die die Stimmung bestimmt werden sollThe Twitter keywords that you want to determine sentiment for.

    Ausgeführte TwitterWpfClient-Anwendung mit unkenntlich gemachten Einstellungen

  3. Um die Werte dauerhaft festzulegen, öffnen Sie die Datei „TwitterWpfClient.exe.config“ mit einem Texteditor.To set the values persistently, use a text editor to open the TwitterWpfClient.exe.config file. Legen Sie dann im Element <appSettings> Folgendes fest:Then in the <appSettings> element, do this:

    • Legen Sie oauth_consumer_key auf den Twitter-Consumerschlüssel (API-Schlüssel) fest.Set oauth_consumer_key to the Twitter Consumer Key (API Key).

    • Legen Sie oauth_consumer_secret auf das Twitter-Consumergeheimnis (API-Geheimnis) fest.Set oauth_consumer_secret to the Twitter Consumer Secret (API Secret).

    • Legen Sie oauth_token auf das Twitter-Zugriffstoken fest.Set oauth_token to the Twitter Access Token.

    • Legen Sie oauth_token_secret auf das Twitter-Geheimnis für das Zugriffstoken fest.Set oauth_token_secret to the Twitter Access Token Secret.

      Nehmen Sie weiter unten im Element <appSettings> folgende Änderungen vor:Later in the <appSettings> element, make these changes:

    • Legen Sie EventHubName auf den Event Hub-Namen fest (d.h. auf den Wert des Entitätspfads).Set EventHubName to the event hub name (that is, to the value of the entity path).

    • Legen Sie EventHubNameConnectionString auf die Verbindungszeichenfolge fest.Set EventHubNameConnectionString to the connection string. Stellen Sie sicher, dass Sie die Verbindungszeichenfolge verwenden, aus der Sie das Schlüssel/Wert-Paar EntityPath entfernt haben.Make sure that you use the connection string that you removed the EntityPath key-value pair from.

      Der Abschnitt <appSettings> sieht wie im folgenden Beispiel aus.The <appSettings> section looks like the following example. (Der Übersichtlichkeit halber und aus Sicherheitsgründen haben wir einige Zeilen umschlossen und einige Zeichen entfernt.)(For clarity and security, we wrapped some lines and removed some characters.)

      Konfigurationsdatei der TwitterWpfClient-Anwendung in einem Texteditor mit den Twitter-Schlüsseln und -Geheimnissen und Informationen zur Event Hub-Verbindungszeichenfolge

  4. Wenn die Anwendung noch nicht gestartet wurde, führen Sie jetzt „TwitterWpfClient.exe“ aus.If you didn't already start the application, run TwitterWpfClient.exe now.

  5. Klicken Sie dann auf die grüne Startschaltfläche, um Stimmungen aus sozialen Medien zu sammeln.Click the green start button to collect social sentiment. Sie sehen nun, wie Tweet-Ereignisse mit den CreatedAt-, Topic- und SentimentScore-Werten an Ihren Event Hub gesendet werden.You see Tweet events with the CreatedAt, Topic, and SentimentScore values being sent to your event hub.

    Ausgeführte TwitterWpfClient-Anwendung mit einer Liste von Einstellungen

    Hinweis

    Wenn Sie Fehler feststellen und kein Datenstrom von Tweets im unteren Teil des Fensters angezeigt wird, überprüfen Sie noch einmal die Schlüssel und Geheimnisse.If you see errors, and you don't see a stream of tweets displayed in the lower part of the window, double-check the keys and secrets. Überprüfen Sie außerdem die Verbindungszeichenfolge. (Stellen Sie dabei sicher, dass der EntityPath-Schlüssel und der -Wert nicht enthalten sind.)Also check the connection string (make sure that it does not include the EntityPath key and value.)

Erstellen eines Stream Analytics-AuftragsCreate a Stream Analytics job

Nun, da wir einen Datenstrom von Tweet-Ereignissen von Twitter in Echtzeit haben, können wir einen Stream Analytics-Auftrag einrichten, um diese Ereignisse in Echtzeit zu analysieren.Now that tweet events are streaming in real time from Twitter, you can set up a Stream Analytics job to analyze these events in real time.

  1. Klicken Sie im Azure-Portal auf Ressource erstellen > Internet der Dinge > Stream Analytics-Auftrag.In the Azure portal, click Create a resource > Internet of Things > Stream Analytics job.

  2. Vergeben Sie einen Namen für den Auftrag socialtwitter-sa-job, und geben Sie ein Abonnement, eine Ressourcengruppe und einen Speicherort an.Name the job socialtwitter-sa-job and specify a subscription, resource group, and location.

    Es empfiehlt sich, den Auftrag und den Event Hub in derselben Region zu platzieren, damit Sie von einer optimalen Leistung profitieren und Ihnen keine Kosten für die Übertragung von Daten zwischen Regionen entstehen.It's a good idea to place the job and the event hub in the same region for best performance and so that you don't pay to transfer data between regions.

    Erstellen eines neuen Stream Analytics-Auftrags

  3. Klicken Sie auf Erstellen.Click Create.

    Der Auftrag wird erstellt, und die Auftragsdetails werden im Portal angezeigt.The job is created and the portal displays job details.

Festlegen der AuftragseingabeSpecify the job input

  1. Klicken Sie in Ihrem Stream Analytics-Auftrag in der Mitte des Blatts „Auftrag“ unter Auftragstopologie auf Eingaben.In your Stream Analytics job, under Job Topology in the middle of the job blade, click Inputs.

  2. Klicken Sie auf dem Blatt Eingaben auf + Hinzufügen, und füllen Sie das Blatt dann mit den folgenden Werten aus:In the Inputs blade, click + Add and then fill out the blade with these values:

    • Eingabealias: Verwenden Sie den Namen TwitterStream.Input alias: Use the name TwitterStream. Wenn Sie einen anderen Namen verwenden, notieren Sie sich diesen, da Sie ihn später benötigen.If you use a different name, make a note of it because you need it later.

    • Quellentyp: Wählen Sie den Datenstrom aus.Source type: Select Data stream.

    • Quelle: Wählen Sie Event Hub aus.Source: Select Event hub.

    • Importoption: Wählen Sie Event Hub aus aktuellem Abonnement verwenden aus.Import option: Select Use event hub from current subscription.

    • Service Bus-Namespace: Wählen Sie den Event Hub-Namespace aus, den Sie zuvor erstellt haben (<yourname>-socialtwitter-eh-ns).Service bus namespace: Select the event hub namespace that you created earlier (<yourname>-socialtwitter-eh-ns).

    • Event Hub: Wählen Sie den Event Hub aus, den Sie zuvor erstellt haben (socialtwitter-eh).Event hub: Select the event hub that you created earlier (socialtwitter-eh).

    • Event Hub-Richtlinienname: Wählen Sie die Zugriffsrichtlinie aus, die Sie zuvor erstellt haben (socialtwitter-access).Event hub policy name: Select the access policy that you created earlier (socialtwitter-access).

      Erstellen einer neuen Eingabe für einen Stream Analytics-Auftrag

  3. Klicken Sie auf Erstellen.Click Create.

Festlegen der AuftragsabfrageSpecify the job query

Stream Analytics unterstützt ein einfaches, deklaratives Abfragemodell, das Transformationen beschreibt.Stream Analytics supports a simple, declarative query model that describes transformations. Weitere Informationen zur Sprache finden Sie in der Azure Stream Analytics-Abfragesprachreferenz.To learn more about the language, see the Azure Stream Analytics Query Language Reference. Diese Schrittanleitung hilft Ihnen beim Erstellen und Testen mehrerer Abfragen über Twitter-Daten.This how-to guide helps you author and test several queries over Twitter data.

Um die Anzahl der Erwähnungen verschiedener Themen zu vergleichen, können Sie mithilfe eines rollierenden Fensters alle fünf Sekunden die Anzahl der Erwähnungen jedes Themas abrufen.To compare the number of mentions among topics, you can use a Tumbling window to get the count of mentions by topic every five seconds.

  1. Schließen Sie das Blatt Eingaben, sofern Sie dies noch nicht getan haben.Close the Inputs blade if you haven't already.

  2. Klicken Sie im Blatt Übersicht oben rechts im Abfragefeld auf Abfrage bearbeiten.In the Overview blade, click Edit Query near the top right of the Query box. In Azure werden die Eingaben und Ausgaben aufgeführt, die für den Auftrag konfiguriert sind. Zudem können Sie eine Abfrage erstellen, mit der Sie die Datenstromeingabe beim Senden an die Ausgabe transformieren können.Azure lists the inputs and outputs that are configured for the job, and lets you create a query that lets you transform the input stream as it is sent to the output.

  3. Stellen Sie sicher, dass die TwitterWpfClient-Anwendung ausgeführt wird.Make sure that the TwitterWpfClient application is running.

  4. Klicken Sie auf dem Blatt Abfrage auf die Punkte neben der TwitterStream-Eingabe, und wählen Sie anschließend Beispieldaten aus Eingabe.In the Query blade, click the dots next to the TwitterStream input and then select Sample data from input.

    Menüoptionen zur Verwendung von Beispieldaten für den Stream Analytics-Auftragseintrag bei ausgewählter Option „Beispieldaten aus Eingabe“

    Daraufhin wird ein Blatt geöffnet, auf dem Sie angeben können, wie viele Beispieldaten in einem bestimmten definierten Zeitraum, in dem die Datenstromeingabe gelesen wird, abgerufen werden sollen.This opens a blade that lets you specify how much sample data to get, defined in terms of how long to read the input stream.

  5. Legen Sie Minuten auf „3“ fest, und klicken Sie dann auf OK.Set Minutes to 3 and then click OK.

    Optionen zur Entnahme von Stichproben aus der Datenstromeingabe mit ausgewählter Option „3 Minuten“

    Azure entnimmt für einen Zeitraum von 3 Minuten Stichprobendaten aus der Datenstromeingabe und benachrichtigt Sie, wenn die Beispieldaten bereit sind.Azure samples 3 minutes' worth of data from the input stream and notifies you when the sample data is ready. (Dies dauert einen Augenblick.)(This takes a short while.)

    Die Beispieldaten werden vorübergehend gespeichert und sind verfügbar, solange das Abfragefenster geöffnet ist.The sample data is stored temporarily and is available while you have the query window open. Wenn Sie das Abfragefenster schließen, werden die Beispieldaten verworfen, und Sie müssen einen neuen Satz von Beispieldaten erstellen.If you close the query window, the sample data is discarded, and you have to create a new set of sample data.

  6. Ändern Sie die Abfrage im Code-Editor wie folgt:Change the query in the code editor to the following:

    SELECT System.Timestamp as Time, Topic, COUNT(*)
    FROM TwitterStream TIMESTAMP BY CreatedAt
    GROUP BY TUMBLINGWINDOW(s, 5), Topic
    

    Wenn Sie nicht TwitterStream als Alias für die Eingabe verwendet haben, ersetzen Sie TwitterStream in der Abfrage durch Ihren Alias.If didn't use TwitterStream as the alias for the input, substitute your alias for TwitterStream in the query.

    Diese Abfrage gibt mit dem Schlüsselwort TIMESTAMP BY ein Zeitstempelfeld für die Nutzlast an, das für die zeitliche Berechnung verwendet wird.This query uses the TIMESTAMP BY keyword to specify a timestamp field in the payload to be used in the temporal computation. Wird dieses Feld nicht angegeben, verwendet der Vorgang die Zeit, zu der jedes Ereignis beim Event Hub eingeht.If this field isn't specified, the windowing operation is performed by using the time that each event arrived at the event hub. Weitere Informationen erhalten Sie im Abschnitt „Arrival Time vs Application Time“ („Eingangszeit im Vgl. zu Anwendungszeit“) in der Stream Analytics Query Reference (Stream Analytics-Abfragereferenz).Learn more in the "Arrival Time vs Application Time" section of Stream Analytics Query Reference.

    Diese Abfrage greift zudem mithilfe der Eigenschaft System.Timestamp jeweils auf einen Zeitstempel für das Ende der einzelnen Fenster zu.This query also accesses a timestamp for the end of each window by using the System.Timestamp property.

  7. Klicken Sie auf Test.Click Test. Die Abfrage wird für die Daten ausgeführt, aus der Sie Stichproben entnommen haben.The query runs against the data that you sampled.

  8. Klicken Sie auf Speichern.Click Save. Hierdurch wird die Abfrage als Teil des Stream Analytics-Auftrags gespeichert.This saves the query as part of the Streaming Analytics job. (Die Beispieldaten werden nicht gespeichert.)(It doesn't save the sample data.)

Experimentieren mit verschiedenen Feldern aus dem DatenstromExperiment using different fields from the stream

Die folgende Tabelle enthält die Felder, die in den JSON-Streamingdaten enthalten sind.The following table lists the fields that are part of the JSON streaming data. Sie können im Abfrage-Editor experimentieren.Feel free to experiment in the query editor.

JSON-EigenschaftJSON property DefinitionDefinition
CreatedAtCreatedAt Zeitpunkt der Erstellung des TweetsThe time that the tweet was created
ThemaTopic Thema, das dem angegebenen Schlüsselwort entsprichtThe topic that matches the specified keyword
SentimentScoreSentimentScore Stimmungswert aus Sentiment140The sentiment score from Sentiment140
AutorAuthor Twitter-Handle, das den Tweet gesendet hatThe Twitter handle that sent the tweet
TextText Vollständiger Text des TweetsThe full body of the tweet

Erstellen einer AusgabesenkeCreate an output sink

Sie haben nun einen Ereignisdatenstrom, eine Event Hub-Eingabe zum Erfassen von Ereignissen und eine Abfrage zur Durchführung einer Transformation über den Datenstrom definiert.You have now defined an event stream, an event hub input to ingest events, and a query to perform a transformation over the stream. Der letzte Schritt besteht darin, eine Ausgabesenke für den Auftrag zu definieren.The last step is to define an output sink for the job.

In dieser Schrittanleitung schreiben Sie die aggregierten Tweet-Ereignisse aus der Auftragsabfrage in Azure Blob Storage.In this how-to guide, you write the aggregated tweet events from the job query to Azure Blob storage. Sie können die Ergebnisse je nach den Anforderungen der Anwendung auch mithilfe von Push an Azure SQL-Datenbank, Azure Table Storage, Event Hubs oder Power BI übertragen.You can also push your results to Azure SQL Database, Azure Table storage, Event Hubs, or Power BI, depending on your application needs.

Festlegen der AuftragsausgabeSpecify the job output

  1. Klicken Sie im Abschnitt Auftragstopologie in das Feld Ausgabe.In the Job Topology section, click the Output box.

  2. Klicken Sie auf dem Blatt Ausgaben auf + Hinzufügen, und füllen Sie das Blatt dann mit den folgenden Werten aus:In the Outputs blade, click + Add and then fill out the blade with these values:

    • Ausgabealias: Verwenden Sie den Namen TwitterStream-Output.Output alias: Use the name TwitterStream-Output.

    • Senke: Wählen Sie Blob Storage aus.Sink: Select Blob storage.

    • Importoptionen: Wählen Sie Blob Storage aus aktuellem Abonnement verwenden aus.Import options: Select Use blob storage from current subscription.

    • Speicherkonto:Storage account. Wählen Sie Neues Speicherkonto erstellen aus.Select Create a new storage account.

    • Speicherkonto (zweites Feld):Storage account (second box). Geben Sie YOURNAMEsa ein, wobei YOURNAME für Ihren Namen oder eine andere eindeutige Zeichenfolge steht.Enter YOURNAMEsa, where YOURNAME is your name or another unique string. Der Name darf nur Kleinbuchstaben und Zahlen enthalten und muss innerhalb von Azure eindeutig sein.The name can use only lowercase letters and numbers, and it must be unique across Azure.

    • Container:Container. Geben Sie socialtwitter ein.Enter socialtwitter. Der Name des Speicherkontos und der Containername werden zusammen verwendet, um einen URI für Blob Storage nach folgendem Muster bereitzustellen:The storage account name and container name are used together to provide a URI for the blob storage, like this:

      http://YOURNAMEsa.blob.core.windows.net/socialtwitter/...

      Blatt „Neue Ausgabe“ für den Stream Analytics-Auftrag

  3. Klicken Sie auf Erstellen.Click Create.

    Azure erstellt das Speicherkonto und generiert automatisch einen Schlüssel.Azure creates the storage account and generates a key automatically.

  4. Schließen Sie das Blatt Ausgaben.Close the Outputs blade.

Starten des AuftragsStart the job

Es werden eine Auftragseingabe, eine Abfrage und eine Ausgabe angegeben.A job input, query, and output are specified. Sie können nun den Stream Analytics-Auftrag starten.You are ready to start the Stream Analytics job.

  1. Stellen Sie sicher, dass die TwitterWpfClient-Anwendung ausgeführt wird.Make sure that the TwitterWpfClient application is running.

  2. Klicken Sie auf dem Blatt „Auftrag“ auf Starten.In the job blade, click Start.

    Starten des Stream Analytics-Auftrags

  3. Wählen Sie auf dem Blatt Auftrag starten für Startzeit der Auftragsausgabe die Option Jetzt, und klicken Sie dann auf Starten.In the Start job blade, for Job output start time, select Now and then click Start.

    Blatt „Auftrag starten“ für den Stream Analytics-Auftrag

    Azure benachrichtigt Sie, wenn der Auftrag gestartet wurde, und auf dem Blatt „Auftrag“ wird der Status Wird ausgeführt angezeigt.Azure notifies you when the job has started, and in the job blade, the status is displayed as Running.

    Auftrag wird ausgeführt

Anzeigen der Ausgabe für die StimmungsanalyseView output for sentiment analysis

Nachdem die Ausführung Ihres Auftrags gestartet wurde und der Auftrag den Twitter-Datenstrom in Echtzeit verarbeitet, können Sie die Ausgabe für die Standpunktanalyse anzeigen.After your job has started running and is processing the real-time Twitter stream, you can view the output for sentiment analysis.

Sie können ein Tool wie den Azure Storage-Explorer oder Azure Explorer verwenden, um die Auftragsausgabe in Echtzeit anzuzeigen.You can use a tool like Azure Storage Explorer or Azure Explorer to view your job output in real time. In dieser Ansicht können Sie Power BI dazu verwenden, Ihre Anwendung zu erweitern, um ein benutzerdefiniertes Dashboard wie das im nachstehenden Screenshot einzuschließen:From here, you can use Power BI to extend your application to include a customized dashboard like the one shown in the following screenshot:

Power BI

Eine andere Abfrage, die Ihnen vermittelt, worum es bei Twitter-Stimmungen geht, basiert auf einem gleitenden Fenster.Another query you can use to understand Twitter sentiment is based on a Sliding Window. Zum Identifizieren von Trendthemen suchen Sie nach Themen, die einen Schwellenwert für Erwähnungen in einem angegebenen Zeitraum überschreiten.To identify trending topics, you look for topics that cross a threshold value for mentions in a specified amount of time.

Für die Zwecke dieser Schrittanleitung suchen Sie nach Themen, die in den letzten fünf Sekunden mehr als 20-mal erwähnt werden.For the purposes of this how-to, you check for topics that are mentioned more than 20 times in the last 5 seconds.

  1. Klicken Sie auf dem Blatt „Auftrag“ auf Beenden, um den Auftrag zu beenden.In the job blade, click Stop to stop the job.

  2. Klicken Sie im Abschnitt Auftragstopologie in das Feld Abfrage.In the Job Topology section, click the Query box.

  3. Ändern Sie die Abfrage wie folgt:Change the query to the following:

    SELECT System.Timestamp as Time, Topic, COUNT(*) as Mentions
    FROM TwitterStream TIMESTAMP BY CreatedAt
    GROUP BY SLIDINGWINDOW(s, 5), topic
    HAVING COUNT(*) > 20
    
  4. Klicken Sie auf Speichern.Click Save.

  5. Stellen Sie sicher, dass die TwitterWpfClient-Anwendung ausgeführt wird.Make sure that the TwitterWpfClient application is running.

  6. Klicken Sie auf Start, um den Auftrag mithilfe der neuen Abfrage neu zu starten.Click Start to restart the job using the new query.

SupportGet support

Um Hilfe zu erhalten, nutzen Sie unser Azure Stream Analytics-Forum.For further assistance, try our Azure Stream Analytics forum.

Nächste SchritteNext steps