Azure Time Series Insights Gen2-Ereignisquellen

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.

Ihre Azure Time Series Insights Gen2-Umgebung kann bis zu zwei Streamingereignisquellen enthalten. Zwei Arten von Azure-Ressourcen werden als Eingaben unterstützt:

Ereignisse müssen als UTF-8-codierte JSON-Dateien gesendet werden.

Erstellen oder Bearbeiten von Ereignisquellen

Eine Ereignisquelle ist die Verknüpfung zwischen Ihrem Hub und der Azure Time Series Insights Gen2-Umgebung. In Ihrer Ressourcengruppe wird eine separate Ressource vom Typ Time Series Insights event source erstellt. Die IoT Hub- oder Event Hub-Ressourcen können sich im selben Azure-Abonnement wie Ihre Azure Time Series Insights Gen2-Umgebung oder in einem anderen Abonnement befinden. Es hat sich jedoch bewährt, die Azure Time Series Insights-Umgebung und die IoT Hub- oder Event Hub-Ressource in derselben Azure-Region auszuführen.

Zum Erstellen, Bearbeiten oder Entfernen von Ereignisquellen in Ihrer Umgebung können Sie das Azure-Portal, die Azure CLI, Azure Resource Manager-Vorlagen sowie die REST-API nutzen.

Warnung

Schränken Sie den öffentlichen Internetzugriff nicht auf einen Hub oder eine Ereignisquelle ein, der bzw. die von Time Series Insights verwendet wird. Andernfalls wird die erforderliche Verbindung unterbrochen.

Startoptionen

Beim Erstellen einer Ereignisquelle können Sie angeben, welche bereits vorhandenen Daten gesammelt werden sollen. Diese Einstellung ist optional. Die folgenden Optionen sind verfügbar:

Name BESCHREIBUNG Beispiel einer Azure Resource Manager-Vorlage
EarliestAvailable Es werden alle bereits in der IoT Hub- oder Event Hub-Ressource vorhandenen Daten erfasst. "ingressStartAt": {"type": "EarliestAvailable"}
EventSourceCreationTime Es werden alle Daten erfasst, die nach der Erstellung der Ereignisquelle eintreffen. Alle bereits vorhandenen Daten, die vor der Erstellung der Ereignisquelle gestreamt wurden, werden ignoriert. Dies ist die Standardeinstellung im Azure-Portal. "ingressStartAt": {"type": "EventSourceCreationTime"}
CustomEnqueuedTime In Ihrer Umgebung werden die Daten erfasst, die nach der benutzerdefinierten Zeit (UTC) in die Warteschlange eingereiht wurden. Alle Ereignisse, die zur benutzerdefinierten Zeit oder danach in die Warteschlange Ihrer IoT Hub- oder Event Hub-Ressource eingereiht wurden, werden erfasst und gespeichert. Alle Ereignisse, die vor der benutzerdefinierten Zeit in die Warteschlange eingereiht wurden, werden ignoriert. Hinweis: „Benutzerdefinierte Zeit“ bezieht sich auf den Zeitpunkt (in UTC), an dem das Ereignis in Ihrer IoT Hub- oder Event Hub-Ressource eingetroffen ist. Dieser Zeitpunkt ist nicht identisch mit der benutzerdefinierten Zeitstempeleigenschaft im Ereignistext. "ingressStartAt": {"type": "CustomEnqueuedTime", "time": "2021-03-01T17:00:00.20Z"}

Wichtig

  • Wenn Sie „EarliestAvailable“ auswählen und über eine große Menge bereits vorhandener Daten verfügen, kann es anfänglich zu einer hohen Latenz kommen, da die Azure Time Series Insights Gen2-Umgebung alle Daten verarbeitet.
  • Die Latenz sollte mit zunehmender Indizierung der Daten abnehmen. Senden Sie ein Supportticket über das Azure-Portal, falls es bei Ihnen zu einer dauerhaft hohen Latenz kommt.
  • EarliestAvailable

EarliestAvailable-Diagramm

  • EventSourceCreationTime

EventSourceCreationTime-Diagramm

  • CustomEnqueuedTime

CustomEnqueuedTime-Diagramm

Bewährte Methoden für die Streamingerfassung

  • Erstellen Sie immer eine eindeutige Consumergruppe für Ihre Azure Time Series Insights Gen2-Umgebung, um Daten aus Ihrer Ereignisquelle zu nutzen. Die erneute Verwendung von Consumergruppen kann zu zufälligen Verbindungsunterbrechungen und Datenverlusten führen.

  • Konfigurieren Sie Ihre Azure Time Series Insights Gen2-Umgebung und IoT Hub und/oder Event Hubs in derselben Azure-Region. Obwohl eine Ereignisquelle in einer anderen Region konfiguriert werden kann, wird dieses Szenario nicht unterstützt, und es kann keine Hochverfügbarkeit garantiert werden.

  • Überschreiten Sie nicht den Grenzwert Ihrer Umgebung für die Durchsatzrate oder den Durchsatz pro Partition.

  • Konfigurieren Sie eine Verzögerungswarnung, damit Sie benachrichtigt werden, wenn in Ihrer Umgebung Probleme beim Verarbeiten von Daten auftreten. Unter Produktionsworkloads unten finden Sie Vorschläge für Warnungsbedingungen.

  • Verwenden Sie die Streamingerfassung nur für Daten in Quasi-Echtzeit und für aktuelle Daten. Das Streamen historischer Daten wird nicht unterstützt.

  • Informieren Sie sich, wie Eigenschaften mit Escapezeichen versehen werden und wie JSON-Daten vereinfacht und gespeichert werden.

  • Befolgen Sie das Prinzip der geringsten Rechte, wenn Sie Verbindungszeichenfolgen für Ereignisquellen angeben. Konfigurieren Sie für Event Hubs eine SAS-Richtlinie, die ausschließlich den send-Anspruch umfasst, und verwenden Sie für IoT Hub nur die service connect-Berechtigung.

Achtung

Wenn Sie die vorhandene IoT Hub- oder Event Hub-Ressource löschen und eine neue Ressource mit demselben Namen erstellen, müssen Sie eine neue Ereignisquelle erstellen, der Sie die neue IoT Hub- oder Event Hub-Ressource anfügen. Erst wenn Sie diesen Schritt ausgeführt haben, werden die Daten erfasst.

Produktionsworkloads

Zusätzlich zu den oben beschriebenen bewährten Methoden sollten Sie die folgenden geschäftskritischen Workloads implementieren.

  • Erhöhen Sie Ihre IoT Hub- oder Event Hub-Datenaufbewahrungsdauer auf maximal sieben Tage.

  • Erstellen von Umgebungswarnungen im Azure-Portal Mithilfe von Warnungen, die auf Plattformmetriken basieren, können Sie das Verhalten von End-to-End-Pipelines überprüfen. Die Anweisungen zum Erstellen und Verwalten von Warnungen finden Sie hier. Vorgeschlagene Warnungsbedingungen:

    • IngressReceivedMessagesTimeLag überschreitet 5 Minuten.
    • IngressReceivedBytes ist 0.
  • Sorgen Sie dafür, dass die Erfassungslast zwischen Ihren IoT Hub- oder Event Hub-Partitionen ausgeglichen ist.

Erfassung historischer Daten

Die Streamingpipeline kann in Azure Time Series Insights Gen2 aktuell nicht zum Importieren historischer Daten verwendet werden. Wenn Sie ältere Daten in Ihre Umgebung importieren möchten, beachten Sie die folgenden Richtlinien:

  • Streamen Sie Livedaten und historische Daten nicht parallel. Die Erfassung unsortierter Daten wirkt sich nachteilig auf die Abfrageleistung aus.
  • Erfassen Sie historische Daten in zeitlicher Reihenfolge, um die bestmögliche Leistung zu erzielen.
  • Bleiben Sie innerhalb der unten angegebenen Ratengrenzwerte für den Erfassungsdurchsatz.
  • Deaktivieren Sie den warmen Speicher, wenn das Alter der Daten den Aufbewahrungszeitraum Ihres warmen Speichers übersteigt.

Zeitstempel der Ereignisquelle

Beim Konfigurieren einer Ereignisquelle werden Sie dazu aufgefordert, eine Zeitstempel-ID-Eigenschaft anzugeben. Mit der Zeitstempeleigenschaft werden Ereignisse im Zeitverlauf nachverfolgt. Diese Zeit wird als Zeitstempel $ts in den $ts und zum Zeichnen von Reihen im Azure Time Series Insights-Explorer verwendet. Wenn zum Zeitpunkt der Erstellung keine Eigenschaft bereitgestellt wird oder die Zeitstempeleigenschaft aus einem Ereignis fehlt, wird der Zeitpunkt der Einreihung in die IoT Hub- oder Event Hubs-Warteschlange als Standardwert verwendet. Werte der Zeitstempeleigenschaft werden in UTC gespeichert.

Im Allgemeinen entscheiden sich Benutzer dafür, die Zeitstempeleigenschaft anzupassen und den Zeitpunkt zu verwenden, zu dem der Sensor oder das Tag den Lesevorgang generiert hat, anstatt den Standardwert des Zeitpunkts der Einreihung in die Hub-Warteschlange zu verwenden. Dies ist besonders dann notwendig, wenn Geräte vorübergehenden Konnektivitätsverlust aufweisen und ein Batch verzögerter Nachrichten an Azure Time Series Insights Gen2 weitergeleitet wird.

Wenn sich der benutzerdefinierte Zeitstempel innerhalb eines geschachtelten JSON-Objekts oder eines Arrays befindet, müssen Sie den richtigen Eigenschaftennamen unter Berücksichtigung der Namenskonventionen beim Vereinfachen und Versehen mit Escapezeichen bereitstellen. Der hier angezeigte Zeitstempel der Ereignisquelle für die JSON-Nutzlast sollte als eingegeben werden.

Zeitzonenoffset

Zeitstempel müssen im ISO 8601-Format gesendet werden und werden im UTC-Format gespeichert. Wenn ein Zeitzonenoffset angegeben wird, wird der Offset angewendet und anschließend die Zeit im UTC-Format gespeichert und zurückgegeben. Wenn der Offset nicht ordnungsgemäß formatiert ist, wird er ignoriert. In Situationen, in denen Ihre Lösung möglicherweise keinen Kontext des ursprünglichen Offsets aufweist, können Sie die Offsetdaten in einer zusätzlichen separaten Ereigniseigenschaft senden, um sicherzustellen, dass sie beibehalten werden und Ihre Anwendung in einer Abfrageantwort verweisen kann.

Der Zeitzonenoffset sollte eines der folgenden Formate aufweisen:

±HHMMZ
±HH:MM
±HH:MMZ

Nächste Schritte