Publicar actualizaciones de valor de propiedad en Amazon DynamoDB - AWS IoT SiteWise

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.

Publicar actualizaciones de valor de propiedad en Amazon DynamoDB

En este tutorial, se presenta una forma práctica de almacenar los datos mediante Amazon DynamoDB, lo que facilita el acceso a los datos históricos de los activos sin tener que consultar repetidamente la API. AWS IoT SiteWise Después de completar este tutorial, puede crear software personalizado que consuma los datos de sus activos, como un mapa en vivo de la velocidad y la dirección del viento en todo un parque eólico. Si desea supervisar y visualizar los datos sin implementar una solución de software personalizada, consulte Supervise los datos con AWS IoT SiteWise Monitor.

En este tutorial, se basa en la AWS IoT SiteWise demostración que proporciona un conjunto de datos de muestra para un parque eólico. Puede configurar actualizaciones de valores de propiedad desde la demostración del parque eólico para enviar datos, a través de las reglas de AWS IoT Core, a una tabla de DynamoDB que cree. Cuando habilita las actualizaciones del valor de la propiedad, AWS IoT SiteWise envía sus datos a AWS IoT Core mensajes MQTT. A continuación, defina las reglas AWS IoT principales que realicen acciones, como la acción de DynamoDB, en función del contenido de esos mensajes. Para obtener más información, consulte Interactúa con otros AWS servicios.

Requisitos previos

Necesitará lo siguiente para completar este tutorial:

  • Una AWS cuenta. Si no dispone de una, consulte Configura una AWS cuenta.

  • Un ordenador de desarrollo que ejecute Windows, macOS, Linux o Unix para acceder al AWS Management Console. Para obtener más información, consulte ¿Qué es AWS Management Console?

  • Un usuario de IAM con permisos de administrador. Para obtener instrucciones detalladas, consulta ¿Cómo AWS IoT SiteWise funciona con IAM.

  • Una demostración de un AWS IoT SiteWise parque eólico en funcionamiento. Al configurar la demostración, esta define los modelos y los activos AWS IoT SiteWise y les transmite datos para representar un parque eólico. Para obtener más información, consulte Usa la AWS IoT SiteWise demo.

Paso 1: AWS IoT SiteWise Configúrelo para publicar las actualizaciones del valor de la propiedad

En este procedimiento, se habilitan las notificaciones de valores de propiedad en las propiedades Wind Speed de los activos de la turbina de demostración. Tras activar las notificaciones del valor de las propiedades, AWS IoT SiteWise publica cada actualización de valores en un mensaje MQTT en AWS IoT Core.

Para habilitar las notificaciones de actualización de valores de propiedad en propiedades de activos
  1. Inicie sesión en la consola de AWS IoT SiteWise.

  2. Revise los AWS IoT SiteWise puntos finales y las cuotas compatibles y cambie de AWS región, si AWS IoT SiteWise es necesario. Cambie a la región en la que esté realizando la AWS IoT SiteWise demostración.

  3. En el panel de navegación izquierdo, elija Assets (activos).

  4. Elija la flecha situada junto a Demo Wind Farm Asset para ampliar la jerarquía del activo del parque eólico.

  5. Elija una turbina de demostración y elija Edit (Editar).

  6. Elija Measurements (Medidas).

  7. Actualice el estado de la notificación MQTT de la Wind Speedpropiedad a ACTIVO.

  8. Elija Guardar en la parte inferior de la página.

  9. Repita los pasos 5 a 7 para cada activo de turbina de demostración.

  10. Elija una turbina de demostración (por ejemplo, Demo Turbine Asset 1).

  11. Elija Measurements (Medidas).

  12. Elija el icono copiar junto a la propiedad Wind Speed para copiar el tema de notificación en el portapapeles. Guarde el tema de notificación para utilizarlo más adelante en este tutorial. Solo necesita registrar el tema de notificación desde una turbina.

    El tema de notificación debe ser similar al siguiente ejemplo.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

Paso 2: creación de una regla en AWS IoT Core

En este paso, cree una regla en AWS IoT Core que analice los mensajes de notificación del valor de la propiedad e inserte los datos en una tabla de Amazon DynamoDB. AWS IoT Las reglas básicas analizan los mensajes de MQTT y realizan acciones en función del contenido y el tema de cada mensaje. A continuación, cree una regla con una acción de DynamoDB para insertar datos en una tabla de DynamoDB que cree como parte de este tutorial.

Para crear una regla con una acción de DynamoDB
  1. Vaya a la consola de AWS IoT.

  2. En el panel de navegación izquierdo, selecciona Enrutamiento de mensajes y, a continuación, Reglas.

  3. Seleccione Creación de regla.

  4. En Especificar las propiedades de la regla, introduzca un nombre y una descripción para la regla.

  5. Busque el tema de notificación que guardó anteriormente en este tutorial.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

    Sustituya el ID del activo (el ID después de assets/) del tema por un +. Esto selecciona la propiedad de velocidad del viento para todos los activos de aerogeneradores de demostración. El filtro de temas + acepta todos los nodos de un solo nivel de un tema. El tema debe ser similar al siguiente ejemplo.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
  6. Introduzca la siguiente instrucción de consulta de reglas. Reemplace el tema de la sección FROM por el tema de notificación.

    SELECT payload.assetId AS asset, (SELECT VALUE (value.doubleValue) FROM payload.values) AS windspeed, timestamp() AS timestamp FROM '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' WHERE type = 'PropertyValueUpdate'
  7. En Acciones de la regla, vaya a la Acción 1.

  8. En la página Seleccione una acción, elija Dynamo. DBv2 Esto divide el mensaje en varias columnas de una tabla de DynamoDB.

  9. En Nombre de la tabla, elija Crear tabla nueva. Cree una tabla de Amazon DynamoDB para recibir los datos de velocidad del viento de la acción de la regla.

  10. En Nombre de tabla en la consola de DynamoDB, introduzca un nombre para la tabla.

  11. Para la clave de partición, haga lo siguiente:

    1. Escriba timestamp como clave de partición.

    2. Seleccione el tipo Number (Número) .

    3. Marque la casilla Add sort key (Añadir clave de ordenación).

    4. Escriba asset como clave de ordenación y deje el tipo de clave de ordenación predeterminado de String (Cadena).

  12. Seleccione Create table (Creación de tabla).

  13. Vuelva a la pestaña con la página Configure action (Configurar acción) .

  14. En la página de acción Adjuntar regla, actualice la lista de nombres de tabla y elija la nueva tabla de DynamoDB que creó en el paso anterior.

Paso 3: Configurar la acción de la regla de DynamoDB

En este paso, configure la acción de la regla de Amazon DynamoDB para insertar datos de las actualizaciones de valores de propiedades en la nueva tabla de DynamoDB.

Para configurar la acción de regla de DynamoDB
  1. Seleccione Crear rol para crear un rol de IAM que otorgue a AWS IoT Core acceso para realizar la acción de regla.

  2. Introduzca el nombre de un rol, por ejemplo,WindSpeedDataRole. Seleccione Crear rol.

  3. Elija Siguiente.

  4. Elija Crear en la parte inferior de la página para terminar de crear la regla.

    Los datos de los activos de demostración deberían comenzar a aparecer en la tabla de DynamoDB.

Paso 4: Explore los datos en DynamoDB

En este paso, explore los datos de velocidad del viento de los activos de demostración en su nueva tabla de Amazon DynamoDB.

Para explorar datos de activos en DynamoDB.
  1. Vuelva a la pestaña con la tabla de DynamoDB abierta.

  2. En la tabla que creó anteriormente, seleccione la pestaña Explorar los elementos de la tabla para ver los datos de la tabla. Actualice la página si no ve filas en la tabla. Si las filas no aparecen después de unos minutos, consulte Solución de problemas de una regla (DynamoDB).

  3. En una fila de la tabla, elija el icono de edición para expandir los datos.

  4. Seleccione la flecha situada junto a la estructura de windspeed para ampliar la lista de puntos de datos de velocidad del viento. Cada lista refleja un lote de puntos de datos de velocidad del viento enviados AWS IoT SiteWise por la demostración del parque eólico. Es posible que desee un formato de datos diferente si configura una acción de regla para su propio uso. Para obtener más información, consulte Consulte las notificaciones de propiedades de activos en AWS IoT SiteWise.

Ahora que ha completado el tutorial, deshabilite o elimine la regla y elimine la tabla de DynamoDB para evitar incurrir en cargos adicionales. Para limpiar los recursos, consulte Paso 5: Limpiar los recursos después del tutorial.

Paso 5: Limpiar los recursos después del tutorial

Después de completar el tutorial, limpie los recursos para evitar incurrir en cargos adicionales. Sus activos de parque eólico de demostración se eliminan al final de la duración que eligió al crear la demostración. También puede eliminar la demostración de forma manual.

La AWS IoT SiteWise demostración se borra automáticamente al cabo de una semana, o el número de días que hayas elegido si creaste la pila de demostraciones desde la AWS CloudFormation consola. Puede eliminar la demostración antes si ha terminado de utilizar los recursos de la demostración. También puede eliminar la demostración si no se puede crear. Siga los pasos siguientes para eliminar la demostración manualmente.

(opcional) Para eliminar la AWS IoT SiteWise demostración

  1. Vaya a la consola de AWS CloudFormation.

  2. Elige Io TSite WiseDemoAssets de la lista de pilas.

  3. Elija Eliminar.

    Al eliminar la pila, se eliminan todos los recursos creados para la demostración.

  4. En el cuadro de diálogo de confirmación, elija Delete stack (Eliminar pila).

    La pila tarda unos 15 minutos en borrarse. Si la demostración no se elimina, vuelva a seleccionar Delete (Eliminar) en la esquina superior derecha. Si la demostración no se puede eliminar de nuevo, sigue los pasos de la AWS CloudFormation consola para omitir los recursos que no se pudieron eliminar e inténtalo de nuevo.

Para obtener más información, consulte Elimine la AWS IoT SiteWise demostración.

Utilice los siguientes procedimientos para deshabilitar las notificaciones de actualización del valor de las propiedades (si no ha eliminado la demostración), deshabilitar o eliminar la AWS IoT regla y eliminar la tabla de DynamoDB.

Para deshabilitar las notificaciones de actualización de valores de propiedad en propiedades de activos
  1. Vaya a la consola de AWS IoT SiteWise.

  2. En el panel de navegación izquierdo, elija Assets (activos).

  3. Elija la flecha situada junto a Demo Wind Farm Asset para ampliar la jerarquía del activo del parque eólico.

  4. Elija una turbina de demostración y elija Edit (Editar).

  5. Actualice el estado de notificación de la Wind Speedpropiedad a INACTIVO.

  6. Elija Save asset (Guardar activo) en la parte inferior de la página.

  7. Repita los pasos 4 a 6 para cada activo de turbina de demostración.

Para deshabilitar o eliminar una regla en AWS IoT Core
  1. Vaya a la consola de AWS IoT.

  2. En el panel de navegación de la izquierda, elija Redirección de mensajes y, a continuación, seleccione Reglas.

  3. Seleccione su regla y seleccione Eliminar.

  4. En el cuadro de diálogo de confirmación, ingrese el nombre de la regla y, a continuación, elija Eliminar.

Para eliminar una tabla de DynamoDB
  1. Navegue hasta la consola de DynamoDB.

  2. En el panel de navegación izquierdo, elija Tables (Tablas).

  3. Elija la tabla que creó anteriormente, por ejemplo,WindSpeedData.

  4. Elija Eliminar.

  5. En el cuadro de diálogo de confirmación, introduzca confirm para eliminar la tabla.