Recevoir des notifications de données en retard via Amazon CloudWatch Events - AWS IoT Analytics

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Recevoir des notifications de données en retard via Amazon CloudWatch Events

Lorsque vous créez le contenu d'un jeu de données à partir de données d'une période spécifiée, certaines données peuvent ne pas arriver à temps pour être traitées. Pour tenir compte d'un délai, vous pouvez spécifier undeltaTime décalage pour leQueryFilter lorsque vous créez un ensemble de données en appliquant unequeryAction (une requête SQL). AWS IoT Analyticstraite toujours les données qui arrivent dans le délai delta, et le contenu de votre jeu de données présente un décalage dans le temps. La fonctionnalité de notification des données en retard permetAWS IoT Analytics d'envoyer des notifications via Amazon CloudWatch Events lorsque les données arrivent après l'heure delta.

Vous pouvez utiliser laAWS IoT Analytics console, l'APIAWS Command Line Interface (AWS CLI) ou le AWSSDK pour spécifier des règles de données tardives pour un ensemble de données.

Dans l'AWS IoT AnalyticsAPI, l'LateDataRuleConfigurationobjet représente les derniers paramètres des règles de données d'un ensemble de données. Cet objet fait partie de l'Datasetobjet associé aux opérations de l'UpdateDatasetAPICreateDataset et.

Paramètres

Lorsque vous créez une règle de données tardives pour un ensemble de données avecAWS IoT Analytics, vous devez spécifier les informations suivantes :

ruleConfiguration (LateDataRuleConfiguration)

Structure qui contient les informations de configuration d'une règle de données tardive.

deltaTimeSessionWindowConfiguration

Structure qui contient les informations de configuration d'une fenêtre de session de temps delta.

DeltaTime spécifie un intervalle de temps. Vous pouvez utiliser DeltaTime pour créer un contenu d'ensemble de données avec des données arrivées dans le magasin de données depuis la dernière exécution. Pour obtenir un exemple deDeltaTime, consultez Création d'un jeu de données SQL avec une fenêtre delta (CLI).

timeoutInMinutes

Intervalle de temps. Vous pouvez utilisertimeoutInMinutes pourAWS IoT Analytics regrouper les notifications de données tardives générées depuis la dernière exécution. AWS IoT Analyticsenvoie un lot de notifications à CloudWatch Events à la fois.

Type : entier

Plage valide : 1-60

ruleName

Nom de la règle de données tardives.

Type : String

Important

Pour spécifierlateDataRules, l'ensemble de données doit utiliser unDeltaTime filtre.

Configuration des règles de données tardives (console)

La procédure suivante vous montre comment configurer la règle de données tardives d'un ensemble de données dans laAWS IoT Analytics console.

Pour configurer les règles relatives aux données tardives
  1. Connectez-vous à la console AWS IoT Analytics.

  2. Dans le panneau de navigation, choisissez Data Sets.

  3. Sous Ensembles de données, choisissez l'ensemble de données cible.

  4. Dans le panneau de navigation, choisissez Détails.

  5. Dans la section Fenêtre Delta, choisissez Modifier.

  6. Sous Configurer le filtre de sélection de données, procédez comme suit :

    1. Dans la fenêtre de sélection des données, choisissez Delta time.

    2. Pour Offset, entrez une période, puis choisissez une unité.

    3. Dans Expression d'horodatage, entrez une expression. Il peut s'agir du nom d'un champ d'horodatage ou d'une expression SQL qui peut déduire l'heure, telle que from_unixtime (time).

      Pour plus d'informations sur la façon d'écrire une expression d'horodatage, consultez la rubrique Fonctions et opérateurs Date et Time dans la documentation Presto 0.172.

    4. Pour Notification de données en retard, sélectionnez Active.

    5. Pour Delta time, entrez un entier. La plage valide est comprise entre 1 et 60.

    6. Choisissez Save (Enregistrer).

    
      Configurez le filtre de sélection des données dans laAWS IoT Analytics console.

Configuration des règles relatives aux données en retard (CLI)

Dans l'AWS IoT AnalyticsAPI, l'LateDataRuleConfigurationobjet représente les derniers paramètres des règles de données d'un ensemble de données. Cet objet fait partie de l'Datasetobjet associé àCreateDataset etUpdateDataset. Vous pouvez utiliser l'API ou le AWS CLIAWSSDK pour spécifier des règles de données tardives pour un ensemble de données. L'exemple suivant repose sur AWS CLI.

Pour créer votre jeu de données avec des règles de données tardives spécifiées, exécutez la commande suivante. La commande suppose que ledataset.json fichier se trouve dans le répertoire en cours.

Note

Vous pouvez utiliser l'UpdateDatasetAPI pour mettre à jour un ensemble de données existant.

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

Ledataset.json fichier doit contenir les lignes suivantes :

  • Remplacez demo_dataset par le nom du jeu de données cible.

  • Remplacez demo_datastore par le nom du magasin de données cible.

  • Remplacez from_unixtime (time) par le nom d'un champ d'horodatage ou d'une expression SQL qui peut déduire l'heure.

    Pour plus d'informations sur la façon d'écrire une expression d'horodatage, consultez la rubrique Fonctions et opérateurs Date et Time dans la documentation Presto 0.172.

  • Remplacez le délai d'attente par un entier compris entre 1 et 60.

  • Remplacez demo_rule par n'importe quel nom.

{ "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" } ] }

S'abonner pour recevoir des notifications de données tardives

Vous pouvez créer des règles dans CloudWatch Événements qui définissent la manière de traiter les notifications de données en retard envoyées depuisAWS IoT Analytics. Lorsque CloudWatch Events reçoit les notifications, il invoque les actions cibles spécifiées dans vos règles.

Conditions préalables à la création de règles CloudWatch d'événements

Avant de créer une règle d' CloudWatch événement pourAWS IoT Analytics, vous devez procéder comme suit :

  • Familiarisez-vous avec les événements, les règles et les cibles dans CloudWatch Events.

  • Créez et configurez les cibles invoquées par vos règles CloudWatch d'événements. Les règles peuvent appeler de nombreux types de cibles, telles que les suivantes :

    • Amazon Kinesis Streams

    • Fonctions AWS Lambda

    • Rubriques Amazon Simple Notification Service (Amazon SNS)

    • Files d'attente Amazon Simple Queue Service (Amazon SQS)

    Vos CloudWatch événements règnent et les cibles associées doivent se trouver dans laAWS région dans laquelle vous avez créé vosAWS IoT Analytics ressources. Pour plus d'informations, consultez la section Points de terminaison et quotas de service dans le Références générales AWS.

Pour plus d'informations, consultez Qu'est-ce que CloudWatch les événements ? et Démarrez avec Amazon CloudWatch Events dans le Guide de l'utilisateur d'Amazon CloudWatch Events.

Événement de notification de données en retard

L'événement relatif aux notifications de données en retard utilise le format suivant.

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

Créez une règle d' CloudWatch événements pour recevoir des notifications de données en retard

La procédure suivante vous montre comment créer une règle qui envoie des notifications de donnéesAWS IoT Analytics tardives à une file d'attente Amazon SQS.

Pour créer une règle d' CloudWatch événement
  1. Connectez-vous à la CloudWatchconsole Amazon.

  2. Sous Events (Événements) dans le panneau de navigation, choisissez Rules (Règles).

  3. Sur la page Règles, choisissez Créer une règle.

  4. Sous Event Source, choisissez Event Pattern.

  5. Dans la section Créer un modèle d'événement correspondant aux événements par service, procédez comme suit :

    1. Pour le nom du service, choisissez IoT Analytics

    2. Dans Type d'événement, choisissez IoT Analytics Dataset Lifecycle Notification.

    3. Choisissez Nom (s) de jeu de données spécifiques, puis entrez le nom du jeu de données cible.

  6. Sous Cibles, choisissez Ajouter une cible*.

  7. Choisissez la file d'attente SQS, puis procédez comme suit :

    1. Pour Queue*, choisissez la file d'attente cible.

  8. Choisissez Configure details (Configurer les détails).

  9. Sur la page Étape 2 : Configuration des détails des règles, entrez un nom et une description.

  10. Choisissez Create rule (Créer une règle).