AWS IoT Analytics n'est plus disponible pour les nouveaux clients. Les clients existants de AWS IoT Analytics peuvent continuer à utiliser le service normalement. En savoir plus
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'LateDataRuleConfiguration
objet représente les derniers paramètres des règles de données d'un ensemble de données. Cet objet fait partie de l'Dataset
objet associé aux opérations de l'UpdateDataset
APICreateDataset
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 utiliser
timeoutInMinutes
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
-
Connectez-vous à la console AWS IoT Analytics
. -
Dans le panneau de navigation, choisissez Data Sets.
-
Sous Ensembles de données, choisissez l'ensemble de données cible.
-
Dans le panneau de navigation, choisissez Détails.
-
Dans la section Fenêtre Delta, choisissez Modifier.
-
Sous Configurer le filtre de sélection de données, procédez comme suit :
-
Dans la fenêtre de sélection des données, choisissez Delta time.
-
Pour Offset, entrez une période, puis choisissez une unité.
-
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. -
Pour Notification de données en retard, sélectionnez Active.
-
Pour Delta time, entrez un entier. La plage valide est comprise entre 1 et 60.
-
Choisissez Save (Enregistrer).
-
Configuration des règles relatives aux données en retard (CLI)
Dans l'AWS IoT AnalyticsAPI, l'LateDataRuleConfiguration
objet représente les derniers paramètres des règles de données d'un ensemble de données. Cet objet fait partie de l'Dataset
objet 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 * FROMdemo_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
-
Connectez-vous à la CloudWatchconsole Amazon
. -
Sous Events (Événements) dans le panneau de navigation, choisissez Rules (Règles).
-
Sur la page Règles, choisissez Créer une règle.
-
Sous Event Source, choisissez Event Pattern.
-
Dans la section Créer un modèle d'événement correspondant aux événements par service, procédez comme suit :
-
Pour le nom du service, choisissez IoT Analytics
-
Dans Type d'événement, choisissez IoT Analytics Dataset Lifecycle Notification.
-
Choisissez Nom (s) de jeu de données spécifiques, puis entrez le nom du jeu de données cible.
-
-
Sous Cibles, choisissez Ajouter une cible*.
-
Choisissez la file d'attente SQS, puis procédez comme suit :
-
Pour Queue*, choisissez la file d'attente cible.
-
-
Choisissez Configure details (Configurer les détails).
-
Sur la page Étape 2 : Configuration des détails des règles, entrez un nom et une description.
-
Choisissez Create rule (Créer une règle).