Senden von Ereignissen an die Azure Time Series Insights-Umgebung mithilfe eines Event HubSend events to a Time Series Insights environment by using an event hub

In diesem Artikel erfahren Sie, wie Sie einen Event Hub in Azure Event Hubs erstellen und konfigurieren.This article explains how to create and configure an event hub in Azure Event Hubs. Außerdem erfahren Sie, wie Sie eine Beispielanwendung ausführen, um Ereignisse mithilfe von Push von Event Hubs zu Azure Time Series Insights zu übertragen.It also describes how to run a sample application to push events to Azure Time Series Insights from Event Hubs. Wenn Sie bereits über einen Event Hub mit Ereignissen im JSON-Format verfügen, überspringen Sie dieses Tutorial, und sehen Sie sich Ihre Umgebung in Azure Time Series Insights an.If you have an existing event hub with events in JSON format, skip this tutorial and view your environment in Azure Time Series Insights.

Konfigurieren eines Event HubsConfigure an event hub

  1. Weitere Informationen, wie Sie einen Event Hub erstellen, finden Sie unter Event Hubs--Dokumentation.To learn how to create an event hub, see the Event Hubs documentation.

  2. Suchen Sie im Suchfeld nach Event Hubs.In the search box, search for Event Hubs. Wählen Sie in der Liste mit den zurückgegebenen Ergebnissen Event Hubs aus.In the returned list, select Event Hubs.

  3. Wählen Sie Ihren Event Hub aus.Select your event hub.

  4. Wenn Sie einen Event Hub erstellen, erstellen Sie einen Event Hub-Namespace.When you create an event hub, you're creating an event hub namespace. Wenn Sie noch keinen Event Hub innerhalb des Namespace erstellt haben, erstellen Sie in dem Menü unter Entitäten einen Event Hub.If you haven't yet created an event hub within the namespace, on the menu, under Entities, create an event hub.

    Liste der Event HubsList of event hubs

  5. Nachdem Sie einen Event Hub erstellt haben, wählen Sie ihn in der Liste der Event Hubs aus.After you create an event hub, select it in the list of event hubs.

  6. Wählen Sie in dem Menü unter Entitäten die Option Event Hubs aus.On the menu, under Entities, select Event Hubs.

  7. Wählen Sie den Namen des Event Hubs aus, um ihn zu konfigurieren.Select the name of the event hub to configure it.

  8. Wählen Sie unter Übersicht den Eintrag Consumergruppen und dann Consumergruppe aus.Under Overview, select Consumer groups, and then select Consumer Group.

    Erstellen einer ConsumergruppeCreate a consumer group

  9. Erstellen Sie eine Consumergruppe, die ausschließlich von Ihrer Time Series Insights-Ereignisquelle verwendet wird.Make sure you create a consumer group that's used exclusively by your Time Series Insights event source.

    Wichtig

    Achten Sie darauf, dass diese Consumergruppe nicht von einem anderen Dienst, beispielsweise durch einen Azure Stream Analytics-Auftrag oder durch eine andere Time Series Insights-Umgebung, verwendet wird.Make sure this consumer group isn't used by any other service, such as an Azure Stream Analytics job or another Time Series Insights environment. Wenn die Consumergruppe von den anderen Diensten verwendet wird, wirkt sich das negativ auf Lesevorgänge für diese Umgebung und für andere Dienste aus.If the consumer group is used by the other services, read operations are negatively affected both for this environment and for other services. Wenn Sie $Default als Consumergruppe verwenden, können andere Leser Ihre Consumergruppe möglicherweise wiederverwenden.If you use $Default as the consumer group, other readers might potentially reuse your consumer group.

  10. Wählen Sie in dem Menü unter Einstellungen die Option SAS-Richtlinien und anschließend Hinzufügen aus.On the menu, under Settings, select Shared access policies, and then select Add.

    Wählen Sie „SAS-Richtlinien“ aus, und klicken Sie dann auf die Schaltfläche „Hinzufügen“.Select Shared access policies, and then select the Add button

  11. Erstellen Sie im Bereich Neue SAS-Richtlinie hinzufügen eine gemeinsame Zugriffsrichtlinie mit dem Namen MySendPolicy.In the Add new shared access policy pane, create a shared access named MySendPolicy. Sie verwenden diese gemeinsame Zugriffsrichtlinie zum Senden von Ereignissen in den später in diesem Artikel vorkommenden C#-Beispielen.You use this shared access policy to send events in the C# examples later in this article.

    Geben Sie in das Feld „Richtlinienname“ den Wert „MySendPolicy“ ein.In the Policy name box, enter MySendPolicy

  12. Aktivieren Sie unter Anspruch, das Kontrollkästchen Senden.Under Claim, select the Send check box.

Hinzufügen einer Time Series Insights-InstanzAdd a Time Series Insights instance

Das Time Series Insights-Update verwendet Instanzen, um eingehenden Telemetriedaten kontextbezogene Daten hinzuzufügen.The Time Series Insights update uses instances to add contextual data to incoming telemetry data. Die Daten werden zum Zeitpunkt der Abfrage mithilfe einer Time Series-ID verknüpft.The data is joined at query time by using a Time Series ID. Die Time Series-ID für das Windenergieanlagen-Beispielprojekt, das wir später in diesem Artikel verwenden, ist id.The Time Series ID for the sample windmills project that we use later in this article is id. Weitere Informationen zu Time Series Insights-Instanzen und der Time Series-ID finden Sie unter Zeitreihenmodelle.To learn more about Time Series Insight instances and Time Series ID, see Time Series Models.

Erstellen einer Time Series Insights-EreignisquelleCreate a Time Series Insights event source

  1. Falls Sie noch keine Ereignisquelle erstellt haben, führen Sie die Schritte aus, um eine Ereignisquelle zu erstellen.If you haven't created an event source, complete the steps to create an event source.

  2. Legen Sie einen Wert für timeSeriesId fest.Set a value for timeSeriesId. Weitere Informationen zur Time Series-ID finden Sie unter Zeitreihenmodelle.To learn more about Time Series ID, see Time Series Models.

Übertragen von Ereignissen mittels Push in das Windenergieanlagen-BeispielPush events to windmills sample

  1. Suchen Sie über die Suchleiste nach Event Hubs.In the search bar, search for Event Hubs. Wählen Sie in der Liste mit den zurückgegebenen Ergebnissen Event Hubs aus.In the returned list, select Event Hubs.

  2. Wählen Sie Ihre Event Hub-Instanz aus.Select your event hub instance.

  3. Wechseln Sie zu Freigegebene Zugriffsrichtlinien > MySendPolicy.Go to Shared Access Policies > MySendPolicy. Kopieren Sie den Wert für Verbindungszeichenfolge – Primärschlüssel.Copy the value for Connection string-primary key.

    Kopieren des Werts der Primärschlüssel-VerbindungszeichenfolgeCopy the value for the primary key connection string

  4. Wechseln Sie zur Adresse https://tsiclientsample.azurewebsites.net/windFarmGen.html.Go to https://tsiclientsample.azurewebsites.net/windFarmGen.html. Die URL führt simulierte Windenergieanlagen aus.The URL runs simulated windmill devices.

  5. Fügen Sie in das Feld Event Hub-Verbindungszeichenfolge auf der Webseite die Verbindungszeichenfolge ein, die Sie im Eingabefeld für Windenergieanlagen kopiert haben.In the Event Hub Connection String box on the webpage, paste the connection string that you copied in the windmill input field.

    Einfügen der Primärschlüssel-Verbindungszeichenfolge in das Feld „Event Hub-Verbindungszeichenfolge“Paste the primary key connection string in the Event Hub Connection String box

  6. Wählen Sie Zum Starten klicken aus.Select Click to start. Der Simulator generiert Instanz-JSON, das Sie direkt verwenden können.The simulator generates instance JSON that you can use directly.

  7. Wechseln Sie zu Ihrem Event Hub im Azure-Portal zurück.Go back to your event hub in the Azure portal. Auf der Seite Übersicht können Sie jetzt die neuen Ereignisse verfolgen, die vom Event Hub empfangen werden.On the Overview page, you see the new events that are received by the event hub.

    Eine Seite „Übersicht“ des Event Hubs, die Metriken für den Event Hub zeigtAn event hub Overview page that shows metrics for the event hub

Unterstützte JSON-FormenSupported JSON shapes

Beispiel einsExample one

  • Eingabe: Ein einfaches JSON-Objekt.Input: A simple JSON object.

    {
        "id":"device1",
        "timestamp":"2016-01-08T01:08:00Z"
    }
    
  • Ausgabe: Ein Ereignis.Output: One event.

    idid timestamptimestamp
    device1device1 2016-01-08T01:08:00Z2016-01-08T01:08:00Z

Beispiel zweiExample two

  • Eingabe: Ein JSON-Array mit zwei JSON-Objekten.Input: A JSON array with two JSON objects. Jedes JSON-Objekt wird in ein Ereignis konvertiert.Each JSON object is converted to an event.

    [
        {
            "id":"device1",
            "timestamp":"2016-01-08T01:08:00Z"
        },
        {
            "id":"device2",
            "timestamp":"2016-01-17T01:17:00Z"
        }
    ]
    
  • Ausgabe: Zwei Ereignisse.Output: Two events.

    idid timestamptimestamp
    device1device1 2016-01-08T01:08:00Z2016-01-08T01:08:00Z
    device2device2 2016-01-08T01:17:00Z2016-01-08T01:17:00Z

Beispiel dreiExample three

  • Eingabe: Ein JSON-Objekt mit einem geschachtelten JSON-Array, das zwei JSON-Objekte enthält.Input: A JSON object with a nested JSON array that contains two JSON objects.

    {
        "location":"WestUs",
        "events":[
            {
                "id":"device1",
                "timestamp":"2016-01-08T01:08:00Z"
            },
            {
                "id":"device2",
                "timestamp":"2016-01-17T01:17:00Z"
            }
        ]
    }
    
  • Ausgabe: Zwei Ereignisse.Output: Two events. Die location-Eigenschaft wird in jedes Ereignis kopiert.The property location is copied over to each event.

    locationlocation events.idevents.id events.timestampevents.timestamp
    WestUsWestUs device1device1 2016-01-08T01:08:00Z2016-01-08T01:08:00Z
    WestUsWestUs device2device2 2016-01-08T01:17:00Z2016-01-08T01:17:00Z

Beispiel vierExample four

  • Eingabe: Ein JSON-Objekt mit einem geschachtelten JSON-Array, das zwei JSON-Objekte enthält.Input: A JSON object with a nested JSON array that contains two JSON objects. Diese Eingabe zeigt, dass globale Eigenschaften vom komplexen JSON-Objekt dargestellt werden können.This input demonstrates that global properties can be represented by the complex JSON object.

    {
        "location":"WestUs",
        "manufacturer":{
            "name":"manufacturer1",
            "location":"EastUs"
        },
        "events":[
            {
                "id":"device1",
                "timestamp":"2016-01-08T01:08:00Z",
                "data":{
                    "type":"pressure",
                    "units":"psi",
                    "value":108.09
                }
            },
            {
                "id":"device2",
                "timestamp":"2016-01-17T01:17:00Z",
                "data":{
                    "type":"vibration",
                    "units":"abs G",
                    "value":217.09
                }
            }
        ]
    }
    
  • Ausgabe: Zwei Ereignisse.Output: Two events.

    locationlocation manufacturer.namemanufacturer.name manufacturer.locationmanufacturer.location events.idevents.id events.timestampevents.timestamp events.data.typeevents.data.type events.data.unitsevents.data.units events.data.valueevents.data.value
    WestUsWestUs manufacturer1manufacturer1 EastUsEastUs device1device1 2016-01-08T01:08:00Z2016-01-08T01:08:00Z pressurepressure psipsi 108.09108.09
    WestUsWestUs manufacturer1manufacturer1 EastUsEastUs device2device2 2016-01-08T01:17:00Z2016-01-08T01:17:00Z vibrationvibration abs Gabs G 217.09217.09

Nächste SchritteNext steps