Verspätete Datenbenachrichtigungen über Amazon CloudWatch Events erhalten - AWS IoT Analytics

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verspätete Datenbenachrichtigungen über Amazon CloudWatch Events erhalten

Wenn Sie Datensatzinhalte mithilfe von Daten aus einem bestimmten Zeitraum erstellen, kommen einige Daten möglicherweise nicht rechtzeitig zur Verarbeitung an. Um eine Verzögerung zu vermeiden, können Sie einendeltaTime Offset für den angeben,QueryFilter wenn Sie einen Datensatz erstellen, indem Sie einequeryAction (eine SQL-Abfrage) anwenden. AWS IoT Analyticsverarbeitet immer noch die Daten, die innerhalb der Deltazeit ankommen, und der Inhalt Ihres Datensatzes weist eine Zeitverzögerung auf. Die Funktion für verspätete DatenbenachrichtigungenAWS IoT Analytics ermöglicht das Senden von Benachrichtigungen über Amazon CloudWatch Events, wenn Daten nach der Deltazeit eintreffen.

Sie können dieAWS IoT Analytics Konsole, die API, AWS Command Line Interface(AWS CLI) oder das AWSSDK verwenden, um Regeln für verspätete Daten für einen Datensatz festzulegen.

In derAWS IoT Analytics API stellt dasLateDataRuleConfiguration Objekt die Late-Data-Regeleinstellungen eines Datensatzes dar. Dieses Objekt ist Teil desDataset Objekts, das mit denUpdateDataset API-VorgängenCreateDataset und verknüpft ist.

Parameter

Beim Erstellen einer Regel für verspätete Daten für einen Datensatz mitAWS IoT Analytics müssen Sie die folgenden Informationen angeben:

ruleConfiguration (LateDataRuleConfiguration)

Eine Struktur, die die Konfigurationsinformationen einer Regel für verspätete Daten enthält.

deltaTimeSessionWindowConfiguration

Eine Struktur, die die Konfigurationsinformationen eines Deltazeitsitzungsfensters enthält.

DeltaTime gibt einen Zeitinterval an. Sie können DeltaTime verwenden, um Dataset-Inhalte mit Daten zu erstellen, die seit der letzten Ausführung im Datenspeicher eingetroffen sind. Ein Beispiel für finden Sie unter Erstellen eines SQL-Datensatzes mit einem Delta-Fenster (CLI).DeltaTime

timeoutInMinutes

Ein Zeitintervall. Sie können verwenden,timeoutInMinutes damit Benachrichtigungen zu verspäteten Daten zusammenfassenAWS IoT Analytics können, die seit der letzten Ausführung erzeugt wurden. AWS IoT Analyticssendet jeweils einen Stapel an Benachrichtigungen an CloudWatch Events.

Typ: Ganzzahl

Gültiger Bereich: 1—1 000

ruleName

Name der Regel für verspätete Daten.

Typ: Zeichenfolge

Wichtig

Um anzugebenlateDataRules, muss das Dataset denDeltaTime Filter anwenden.

Regeln für verspätete Daten konfigurieren (Konsole)

Im folgenden Verfahren wird gezeigt, wie Sie die Regel für verspätete Daten eines Datensatzes in derAWS IoT Analytics Konsole konfigurieren.

So konfigurieren Sie Regeln für verspätete Daten
  1. Melden Sie sich an der AWS IoT Analytics-Konsole an.

  2. Wählen Sie im Navigationsbereich Datensätze aus.

  3. Wählen Sie unter Datensätze den Zieldatensatz aus.

  4. Wählen Sie im Navigationsbereich Details aus.

  5. Wählen Sie im Bereich Delta-Fenster die Option Bearbeiten.

  6. Führen Sie unter Configure data selection filter die folgenden Schritte aus:

    1. Wählen Sie für das Datenauswahlfenster die Option Deltazeit aus.

    2. Geben Sie für Offset einen Zeitraum ein, und wählen Sie dann eine Einheit aus.

    3. Geben Sie für Timestamp-Ausdruck einen Ausdruck ein. Dies kann der Name eines Zeitstempelfeldes oder ein SQL-Ausdruck sein, der die Uhrzeit ableiten kann, z. B. from_unixtime (time).

      Weitere Informationen zum Schreiben eines Zeitstempelausdrucks finden Sie unter Funktionen und Operatoren für Datum und Uhrzeit in der Dokumentation zu Presto 0.172.

    4. Wählen Sie für Späte Datenbenachrichtigung die Option Aktiv aus.

    5. Geben Sie für Delta-Zeit eine Ganzzahl ein. Der gültige Bereich liegt zwischen 1 und 60

    6. Wählen Sie Speichern.

    Konfigurieren Sie den Datenauswahlfilter in derAWS IoT Analytics Konsole.

Regeln für späte Daten konfigurieren (CLI)

In derAWS IoT Analytics API stellt dasLateDataRuleConfiguration Objekt die Late-Data-Regeleinstellungen eines Datensatzes dar. Dieses Objekt ist Teil desDataset Objekts, das mitCreateDataset und verknüpft istUpdateDataset. Sie können die API oder das AWSSDK verwenden AWS CLI, um Regeln für späte Daten für einen Datensatz festzulegen. Das folgende Beispiel verwendet die AWS CLI.

Um Ihren Datensatz mit den angegebenen Regeln für verspätete Daten zu erstellen, führen Sie den folgenden Befehl aus. Der Befehl setzt voraus, dass sich diedataset.json Datei im aktuellen Verzeichnis befindet.

Anmerkung

Sie können die UpdateDatasetAPI verwenden, um einen vorhandenen Datensatz zu aktualisieren.

aws iotanalytics create-dataset --cli-input-json file://dataset.json

Diedataset.json Datei sollte Folgendes enthalten:

  • Ersetzen Sie demo_dataset durch den Namen des Zieldatensatzes.

  • Ersetzen Sie demo_datastore durch den Namen des Zieldatenspeichers.

  • Ersetzen Sie from_unixtime (time) durch den Namen eines Zeitstempelfeldes oder einen SQL-Ausdruck, der die Uhrzeit ableiten kann.

    Weitere Informationen zum Schreiben eines Zeitstempelausdrucks finden Sie unter Funktionen und Operatoren für Datum und Uhrzeit in der Dokumentation zu Presto 0.172.

  • Ersetzen Sie das Timeout durch eine Ganzzahl zwischen 1—60.

  • Ersetzen Sie demo_rule durch einen beliebigen Namen.

{ "datasetName": "demo_dataset", "actions": [ { "actionName": "myDatasetAction", "queryAction": { "filters": [ { "deltaTime": { "offsetSeconds": -180, "timeExpression": "from_unixtime(time)" } } ], "sqlQuery": "SELECT * FROM demo_datastore" } } ], "retentionPeriod": { "unlimited": false, "numberOfDays": 90 }, "lateDataRules": [ { "ruleConfiguration": { "deltaTimeSessionWindowConfiguration": { "timeoutInMinutes": timeout } }, "ruleName": "demo_rule" } ] }

Abonnieren von Benachrichtigungen zu verspäteten Daten

In CloudWatch Events können Sie Regeln erstellen, die festlegen, wie verspätete Datenbenachrichtigungen verarbeitet werden, die von gesendet wurdenAWS IoT Analytics. Wenn CloudWatch Events die Benachrichtigungen erhält, werden die in Ihren Regeln definierten Zielaktionen aufgerufen.

Voraussetzungen für das Erstellen von Regeln für CloudWatch Ereignisse

Führen Sie vor dem Erstellen einer CloudWatch Ereignisregel fürAWS IoT Analytics die die folgenden Schritte aus:

  • Machen Sie sich unter Ereignisse, Regeln und Ziele vertraut. CloudWatch

  • Erstellen und konfigurieren Sie die Ziele, die durch Ihre CloudWatch Events-Regeln aufgerufen werden. Regeln können viele Arten von Zielen aufrufen, z. B. die folgenden:

    • Amazon Kinesis Streams

    • AWS Lambda-Funktionen

    • Amazon Simple Notification Service (Amazon SNS)-Themen

    • Amazon Simple Queue Service (Amazon SQS)-Warteschlangen

    Ihre CloudWatch Events-Regel und die zugehörigen Ziele müssen sich in derAWS Region befinden, in der Sie IhreAWS IoT Analytics Ressourcen erstellt haben. Weitere Informationen finden Sie unter Dienstendpunkte und Kontingente in der Allgemeine AWS-Referenz.

Weitere Informationen finden Sie unter Was sind CloudWatch Ereignisse? und Erste Schritte mit Amazon CloudWatch Events im Amazon CloudWatch Events-Benutzerhandbuch.

Ereignis mit verspäteter Datenbenachrichtigung

Das Ereignis für verspätete Datenbenachrichtigungen verwendet das folgende Format.

{ "version": "0", "id": "7f51dfa7-ffef-97a5-c625-abddbac5eadd", "detail-type": "IoT Analytics Dataset Lifecycle Notification", "source": "aws.iotanalytics", "account": "123456789012", "time": "2020-05-14T02:38:46Z", "region": "us-east-2", "resources": ["arn:aws:iotanalytics:us-east-2:123456789012:dataset/demo_dataset"], "detail": { "event-detail-version": "1.0", "dataset-name": "demo_dataset", "late-data-rule-name": "demo_rule", "version-ids": ["78244852-8737-4650-aa4d-3071a01338fa"], "message": null } }

Erstellen Sie eine CloudWatch Ereignisregel, um verspätete Datenbenachrichtigungen zu erhalten

Im folgenden Verfahren wird gezeigt, wie Sie eine Regel erstellen, die Benachrichtigungen zuAWS IoT Analytics verspäteten Daten an eine Amazon SQS SQS-Warteschlange sendet.

So erstellen Sie eine CloudWatch Ereignisregel
  1. Melden Sie sich bei der CloudWatchAmazon-Konsole an.

  2. Wählen Sie im Navigationsbereich unter Events (Ereignisse) die Option Rules (Regeln) aus.

  3. Wählen Sie auf der Seite Regeln die Option Regel erstellen aus.

  4. Wählen Sie unter Event Source die Option Event Pattern aus.

  5. Führen Sie im Abschnitt Build event pattern to match events by service die folgenden Schritte aus:

    1. Wählen Sie als Dienstname IoT Analytics

    2. Wählen Sie als Ereignistyp die Option IoT Analytics Dataset Lifecycle Notification aus.

    3. Wählen Sie Bestimmte Datensatznamen aus, und geben Sie dann den Namen des Zieldatensatzes ein.

  6. Wählen Sie unter Ziele die Option Ziel hinzufügen*.

  7. Wählen Sie SQS-Warteschlange, und gehen Sie dann wie folgt vor:

    1. Wählen Sie für Queue* die Zielwarteschlange aus.

  8. Wählen Sie Configure details.

  9. Geben Sie auf der Seite Schritt 2: Regeldetails konfigurieren einen Namen und eine Beschreibung ein.

  10. Wählen Sie Create rule (Regel erstellen).