Senden von Ereignissen an eine Azure Time Series Insights Gen1-Umgebung mithilfe eines Event Hubs

Hinweis

Der TSI-Dienst (Time Series Insights) wird nach März 2025 nicht mehr unterstützt. Erwägen Sie, vorhandene TSI-Umgebungen so bald wie möglich zu alternativen Lösungen zu migrieren. Weitere Informationen zur Einstellung und Migration finden Sie in unserer Dokumentation.

Achtung

Dies ist ein Artikel zu Azure Time Series Insights Gen1.

In diesem Artikel erfahren Sie, wie Sie einen Event Hub in Azure Event Hubs erstellen und konfigurieren. 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. 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.

Konfigurieren eines Event Hubs

  1. Weitere Informationen, wie Sie einen Event Hub erstellen, finden Sie in der Event Hubs-Dokumentation.

  2. Suchen Sie im Suchfeld nach Event Hubs. Wählen Sie in der Liste mit den zurückgegebenen Ergebnissen Event Hubs aus.

  3. Wählen Sie Ihren Event Hub aus.

  4. Wenn Sie einen Event Hub erstellen, erstellen Sie einen 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.

    Liste der Event Hubs

  5. Nachdem Sie einen Event Hub erstellt haben, wählen Sie ihn in der Liste der Event Hubs aus.

  6. Wählen Sie in dem Menü unter Entitäten die Option Event Hubs aus.

  7. Wählen Sie den Namen des Event Hubs aus, um ihn zu konfigurieren.

  8. Wählen Sie unter Übersicht den Eintrag Consumergruppen und dann Consumergruppe aus.

    Erstellen einer Consumergruppe

  9. Erstellen Sie eine Consumergruppe, die ausschließlich von Ihrer Azure Time Series Insights-Ereignisquelle verwendet wird.

    Wichtig

    Achten Sie darauf, dass diese Consumergruppe nicht von einem anderen Dienst, beispielsweise durch einen Azure Stream Analytics-Auftrag oder durch eine andere Azure Time Series Insights-Umgebung, verwendet wird. 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. Wenn Sie $Default als Consumergruppe verwenden, können andere Leser Ihre Consumergruppe möglicherweise wiederverwenden.

  10. Wählen Sie in dem Menü unter Einstellungen die Option SAS-Richtlinien und anschließend Hinzufügen aus.

    Wählen Sie „SAS-Richtlinien“ und dann die Schaltfläche „Hinzufügen“ aus.

  11. Erstellen Sie im Bereich Neue SAS-Richtlinie hinzufügen eine gemeinsame Zugriffsrichtlinie mit dem Namen MySendPolicy. Sie verwenden diese gemeinsame Zugriffsrichtlinie zum Senden von Ereignissen in den später in diesem Artikel vorkommenden C#-Beispielen.

    Geben Sie im Feld „Richtlinienname“ die Zeichenfolge „MySendPolicy“ ein.

  12. Aktivieren Sie unter Anspruch, das Kontrollkästchen Senden.

Hinzufügen einer Azure Time Series Insights-Instanz

In Azure Time Series Insights Gen2 können Sie eingehenden Telemetriedaten mithilfe des Zeitreihenmodells (Time Series Model, TSM) kontextabhängige Daten hinzufügen. Im Zeitreihenmodell werden Ihre Tags oder Signale als Instanzen bezeichnet, und Sie können Kontextdaten in Instanzfeldern speichern. Zum Abfragezeitpunkt werden die Daten mithilfe eine Zeitreihen-ID verknüpft. Die Time Series-ID für das Windenergieanlagen-Beispielprojekt, das wir später in diesem Artikel verwenden, ist . Weitere Informationen zum Speichern von Daten in Instanzfeldern finden Sie in der Übersicht zum Zeitreihenmodell.

Erstellen einer Azure Time Series Insights-Ereignisquelle

  1. Falls Sie noch keine Ereignisquelle erstellt haben, führen Sie die Schritte aus, um eine Ereignisquelle zu erstellen.

  2. Legen Sie einen Wert für timeSeriesId fest. Weitere Informationen zur Time Series-ID finden Sie unter Zeitreihenmodelle.

Übertragen von Ereignissen mittels Push in das Windenergieanlagen-Beispiel

  1. Suchen Sie über die Suchleiste nach Event Hubs. Wählen Sie in der Liste mit den zurückgegebenen Ergebnissen Event Hubs aus.

  2. Wählen Sie Ihre Event Hub-Instanz aus.

  3. Wechseln Sie zu Freigegebene ZugriffsrichtlinienMySendPolicy. Kopieren Sie den Wert für Verbindungszeichenfolge – Primärschlüssel.

    Kopieren des Werts der Primärschlüssel-Verbindungszeichenfolge

  4. Navigieren Sie zum TSI Sample Wind Farm Pusher. Diese Website erstellt und betreibt simulierte Windenergieanlagen.

  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.

    Einfügen der Primärschlüssel-Verbindungszeichenfolge in das Feld „Event Hub-Verbindungszeichenfolge“

  6. Wählen Sie Zum Starten klicken aus.

    Tipp

    Der Windenergieanlagen-Simulator erstellt auch JSON-Code, den Sie als Nutzlast für die Azure Time Series Insights-GA-Abfrage-APIs verwenden können.

    Hinweis

    Der Simulator sendet weiterhin Daten, bis der Browsertab geschlossen wird.

  7. Wechseln Sie zu Ihrem Event Hub im Azure-Portal zurück. Auf der Seite Übersicht werden die neuen vom Event Hub empfangenen Ereignisse angezeigt.

    Eine Seite „Übersicht“ des Event Hubs, die Metriken für den Event Hub zeigt

Unterstützte JSON-Formen

Beispiel eins

  • Eingabe: Ein einfaches JSON-Objekt.

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

    id timestamp
    device1 2016-01-08T01:08:00Z

Beispiel zwei

  • Eingabe: Ein JSON-Array mit zwei JSON-Objekten. Jedes JSON-Objekt wird in ein Ereignis konvertiert.

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

    id timestamp
    device1 2016-01-08T01:08:00Z
    device2 2016-01-08T01:17:00Z

Beispiel drei

  • Eingabe: Ein JSON-Objekt mit einem geschachtelten JSON-Array, das zwei JSON-Objekte enthält.

    {
        "location":"WestUs",
        "events":[
            {
                "id":"device1",
                "timestamp":"2016-01-08T01:08:00Z"
            },
            {
                "id":"device2",
                "timestamp":"2016-01-17T01:17:00Z"
            }
        ]
    }
    
  • Ausgabe: Zwei Ereignisse. Die location-Eigenschaft wird in jedes Ereignis kopiert.

    location events.id events.timestamp
    WestUs device1 2016-01-08T01:08:00Z
    WestUs device2 2016-01-08T01:17:00Z

Beispiel vier

  • Eingabe: Ein JSON-Objekt mit einem geschachtelten JSON-Array, das zwei JSON-Objekte enthält. Diese Eingabe zeigt, dass globale Eigenschaften vom komplexen JSON-Objekt dargestellt werden können.

    {
        "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.

    location manufacturer.name manufacturer.location events.id events.timestamp events.data.type events.data.units events.data.value
    WestUs manufacturer1 EastUs device1 2016-01-08T01:08:00Z pressure psi 108.09
    WestUs manufacturer1 EastUs device2 2016-01-08T01:17:00Z vibration abs G 217.09

Nächste Schritte