Para obtener capacidades similares a AWS IoT Analytics, explore Amazon Kinesis, Amazon S3 y Amazon Athena. Estos servicios proporcionan escalabilidad y flexibilidad adicionales para cumplir con sus requisitos de análisis en constante evolución. Descubra cómo hacerlo aquí.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Obtención de notificaciones de datos atrasados a través de Eventos de Amazon CloudWatch
Al crear contenidos de conjuntos de datos con datos de mensajes de un periodo de tiempo determinado, es posible que algunos de estos datos no lleguen a tiempo para ser procesados. Para permitir un retraso, puede especificar un desplazamiento de deltaTime
para QueryFilter
cuando cree un conjunto de datos mediante la aplicación de una queryAction
(una consulta SQL). AWS IoT Analytics sigue procesando los datos que llegan dentro del tiempo delta y el contenido del conjunto de datos tiene un desfase temporal. La característica de notificación de datos atrasados permite a AWS IoT Analytics enviar notificaciones a través de Eventos de Amazon CloudWatch cuando los datos llegan después del tiempo delta.
Puede usar la consola de AWS IoT Analytics, la API, AWS Command Line Interface (AWS CLI) o el SDK de AWS para especificar las reglas de datos atrasados para un conjunto de datos.
En la API de AWS IoT Analytics, el objeto LateDataRuleConfiguration
representa la configuración de las reglas de datos atrasados de un conjunto de datos. Este objeto forma parte del objeto Dataset
asociado a las operaciones CreateDataset
y UpdateDataset
de la API.
Parámetros
Cuando cree una regla de datos tardíos para un conjunto de datos con AWS IoT Analytics, debe especificar la siguiente información:
ruleConfiguration
(LateDataRuleConfiguration
)-
Una estructura que contiene la información de configuración de una regla de datos tardíos.
deltaTimeSessionWindowConfiguration
-
Una estructura que contiene la información de configuración de una ventana de sesión de tiempo delta.
DeltaTime (Tiempo delta) especifica un intervalo de tiempo. Puede utilizar
DeltaTime
para crear contenido de un conjunto de datos con los datos que hayan llegado al almacén de datos desde la última ejecución. Para ver un ejemplo deDeltaTime
, consulte Creación de un conjunto de datos SQL con una ventana diferencial (CLI).timeoutInMinutes
-
Un intervalo de tiempo. Puede utilizar
timeoutInMinutes
para que AWS IoT Analytics envíe por lotes las notificaciones de datos tardíos que se hayan generado desde la última ejecución. AWS IoT Analytics envía un lote de notificaciones a Eventos de CloudWatch al mismo tiempo.Tipo: entero
Rango válido: 1-60
ruleName
-
El nombre de la regla de datos tardíos.
Tipo: String
importante
Para especificar lateDataRules
, el conjunto de datos debe utilizar un filtro DeltaTime
.
Configuración de las reglas de datos atrasados (consola)
En el siguiente procedimiento se explica cómo configurar la regla de datos atrasados de un conjunto de datos en la consola de AWS IoT Analytics.
Para configurar las reglas de datos atrasados
-
Inicie sesión en la consola de AWS IoT Analytics
. -
En el panel de navegación, seleccione Conjuntos de datos.
-
En Conjuntos de datos, seleccione el conjunto de datos de destino.
-
En el panel de navegación, seleccione Detalles.
-
En la sección Ventana diferencial, seleccione Editar.
-
En Configurar el filtro de selección de datos, haga lo siguiente:
-
En la ventana de Selección de datos, seleccione Tiempo delta.
-
En Desplazamiento, introduzca un período de tiempo y, a continuación, seleccione una unidad.
-
En Expresión de marca de tiempo, introduzca una expresión. Puede ser el nombre de un campo de marca de tiempo o una expresión SQL que puede obtener la hora, como por ejemplo,
from_unixtime(time)
.Para obtener más información sobre cómo escribir una expresión de marca de tiempo, consulte Funciones y operadores de fecha y hora
, en la documentación de Presto 0.172. -
En Notificación de datos atrasados, seleccione Activo.
-
En Tiempo diferencia, introduzca un número entero. El rango válido es de 1 a 60.
-
Seleccione Save (Guardar).
-
Configuración de reglas de datos atrasados (CLI)
En la API de AWS IoT Analytics, el objeto LateDataRuleConfiguration
representa la configuración de las reglas de datos atrasados de un conjunto de datos. Este objeto forma parte del objeto Dataset
asociado a CreateDataset
y UpdateDataset
. Puede usar la API, AWS CLI, o el SDK de AWS para especificar reglas de datos atrasados para un conjunto de datos. El siguiente ejemplo utiliza la AWS CLI.
Use el siguiente comando para crear un conjunto de datos atrasados específicos. El comando da por hecho que el archivo dataset.json
está en el directorio actual.
nota
Puede usar la API UpdateDataset para actualizar un conjunto de datos existente.
aws iotanalytics create-dataset --cli-input-json file://dataset.json
El archivo dataset.json
debe contener lo siguiente:
-
Sustituya
demo_dataset
por el nombre del conjunto de datos de destino. -
Sustituya
demo_datastore
por el nombre del almacén de datos de destino. -
Sustituya
from_unixtime(time)
por el nombre de un campo de marca de tiempo o una expresión SQL que pueda obtener la hora.Para obtener más información sobre cómo escribir una expresión de marca de tiempo, consulte Funciones y operadores de fecha y hora
, en la documentación de Presto 0.172. -
Sustituya
tiemeout
por un número entero comprendido entre 1 y 60. -
Sustituya
demo_rule
por cualquier nombre.
{ "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
" } ] }
Suscripción para recibir notificaciones de datos atrasados
Puede crear reglas en Eventos de CloudWatchque que definan cómo procesar las notificaciones de datos atrasados enviadas desde AWS IoT Analytics. Cuando Eventos de CloudWatch recibe las notificaciones, invoca las acciones de destino especificadas y definidas en sus reglas.
Requisitos previos para crear las reglas de Eventos de CloudWatch
Antes de crear una regla de Eventos de CloudWatch para AWS IoT Analytics, debe hacer lo siguiente:
-
Familiarizarse con los eventos, las reglas y los destinos de Eventos de CloudWatch.
-
Cree y configure los destinos que las reglas de Eventos de CloudWatch han invocado. Las reglas pueden invocar muchos tipos de destinos, como los siguientes:
-
Amazon Kinesis Streams
-
Funciones de AWS Lambda
-
Temas de Amazon Simple Notification Service (Amazon SNS)
-
Colas de Amazon Simple Queue Service (Amazon SQS)
La regla de Eventos de CloudWatch y los destinos asociados deben estar en la región de AWS en la que creó sus recursos de AWS IoT Analytics. Para obtener más información, consulte Puntos de enlace y cuotas en la Referencia general de AWS.
-
Para obtener más información, consulte ¿Qué es Eventos de Amazon CloudWatch? e Introducción a Eventos de Amazon CloudWatch en la Guía del usuario de Eventos de Amazon CloudWatch.
Evento de notificaciones de datos atrasados
El evento de notificaciones de datos atrasados utiliza el siguiente formato.
{ "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 } }
Cree una regla de Eventos de CloudWatch para recibir notificaciones de datos atrasados.
En el siguiente procedimiento se explica cómo crear una regla que envíe notificaciones de datos atrasados de AWS IoT Analytics a una cola de Amazon SQS.
Para crear manualmente una regla de Eventos de CloudWatch
-
Inicie sesión en la consola de Amazon CloudWatch
. -
En el panel de navegación, en Events (Eventos), seleccione Rules (Reglas).
-
En la página Reglas, seleccione Crear una regla.
-
En Origen de eventos, seleccione Patrón de eventos.
-
En la sección Crear patrón de eventos para buscar eventos coincidentes por servicio, haga lo siguiente:
-
En Nombre del servicio, seleccione IoT Analytics
-
En Tipo de evento, seleccione Notificación del ciclo de vida del conjunto de datos de IoT Analytics.
-
Seleccione Nombre o nombres de conjuntos de datos específicos y, a continuación, introduzca el nombre del conjunto de datos de destino.
-
-
En Destinos, seleccione Añadir objetivo*.
-
Seleccione Cola SQS y, a continuación, haga lo siguiente:
-
En Cola*, seleccione la cola de destino.
-
-
Seleccione Configure details (Configurar detalles).
-
En la página Paso 2: Configurar detalles de la regla, escriba el nombre y una descripción.
-
Seleccione Create rule (Crear regla).