4.9 C
Madrid
sábado, marzo 1, 2025

Cómo sincronizar los activos y datos de AWS IoT SiteWise entre cuentas de AWS


Introducción

A medida que las empresas industriales y manufactureras se embarcan en su viaje de transformación digital, buscan aprovechar tecnologías avanzadas para aumentar la eficiencia, la productividad, el management de calidad, la flexibilidad, la reducción de costos, la optimización de la cadena de suministro y la ventaja competitiva en la period digital en rápida evolución. Los clientes de AWS en el espacio industrial y de fabricación aprovechan cada vez más AWS IoT SiteWise para modernizar su estrategia de datos industriales y desbloquear todo el potencial de su tecnología operativa. AWS IoT SiteWise le permite recopilar, almacenar, organizar y monitorear de manera eficiente datos de equipos industriales a escala. También le permite obtener información útil, optimizar operaciones e impulsar la innovación a través de decisiones basadas en datos.

El viaje suele comenzar con un estudio de caso de prueba de valor (PoV) en un entorno de desarrollo. Este enfoque le brinda la oportunidad de explorar cómo pueden ayudar la recopilación de datos y el modelado de activos con una solución que incluye AWS IoT SiteWise. A medida que se sienta cómodo con la solución, podrá escalar más activos o instalaciones a un entorno de producción desde la etapa de preparación con el tiempo. Esta publicación de weblog proporciona una descripción normal de la arquitectura y el código de muestra para migrar los activos y datos en AWS IoT SiteWise de una implementación a otra, al tiempo que garantiza la integridad de los datos y minimiza la sobrecarga operativa.

Introducción a AWS IoT SiteWise

Durante la fase de PoV, usted establece canalizaciones de ingesta de datos para transmitir datos de sensores casi en tiempo actual desde historiadores de datos locales, o servidores OPC-UA, a AWS IoT SiteWise. Puede crear modelos de activos que representen digitalmente su equipo industrial para capturar la jerarquía de activos y los metadatos críticos dentro de una sola instalación o en varias instalaciones. AWS IoT SiteWise proporciona Operaciones API para ayudarle a importar datos (metadatos) de su modelo de activos desde diversos sistemas de forma masiva, como historiadores de procesos en AWS IoT SiteWise a escala. Además, puede definir indicadores de rendimiento industrial (KPI) comunes utilizando el biblioteca incorporada de operadores y funciones disponible en AWS IoT SiteWise. También puede crear métricas personalizadas que se activan mediante los datos del equipo a su llegada o se calculan en intervalos definidos por el usuario.

Configurar múltiples entornos no productivos en una fábrica puede ser un desafío debido a las redes heredadas y a las estrictas regulaciones asociadas a la planta, además de los retrasos en la adquisición de {hardware}. Muchos clientes hacen la transición del mismo {hardware} de no producción a producción designando y certificando el {hardware} para uso en producción una vez completada la validación.

Para acelerar y optimizar el proceso de implementación, necesita un enfoque bien definido para migrar sus recursos de IoT SiteWise (activos, jerarquías, métricas, transformaciones, collection temporales y metadatos) entre cuentas de AWS como parte de sus prácticas estándar de DevOps.

AWS IoT SiteWise almacena datos en niveles de almacenamiento que pueden admitir el entrenamiento de modelos de aprendizaje automático (ML) o el análisis de datos históricos en producción. A través de esta publicación de weblog, brindamos un resumen sobre cómo migrar los modelos de activos, las jerarquías de activos y los datos históricos de collection de tiempo desde el entorno de desarrollo a los entornos de ensayo y producción alojados en AWS.

Tutorial de la solución

Comencemos analizando los aspectos técnicos de la migración de recursos y datos de AWS IoT SiteWise entre cuentas de AWS. Proporcionamos una guía paso a paso sobre cómo exportar e importar modelos y jerarquías de activos utilizando las API de IoT SiteWise. También analizamos cómo transferir datos de collection temporales históricas utilizando Amazon Easy Storage Service (Amazon S3) y AWS IoT SiteWise. LotePutAssetPropertyValue Operación API.

Si sigue este enfoque, puede promover la configuración y los datos de AWS IoT SiteWise a lo largo del ciclo de vida de desarrollo a medida que escala sus aplicaciones industriales de IoT a producción. La siguiente es una descripción normal del proceso:

  1. Transferencia de metadatos de AWS IoT Sitewise:
    1. Exporte modelos y activos de AWS IoT SiteWise desde una cuenta de AWS (growth account) ejecutando un trabajo de exportación masiva. Puede utilizar filtros para exportar los modelos y/o activos.
    2. Importe los modelos y/o activos exportados a una segunda cuenta de AWS (staging account) ejecutando un trabajo de importación masiva. Los archivos de importación deben seguir las Esquema de trabajo de transferencia de metadatos de AWS IoT SiteWise.
  2. Transferencia de datos de telemetría de AWS IoT Sitewise
    1. Utilice las siguientes operaciones API para migrar datos de telemetría entre cuentas:
      1. LoteGetAssetPropertyValueHistory recupera datos históricos de telemetría del growth account.
      2. Crear trabajo de importación masiva ingiere los datos de telemetría recuperados en el staging account.

Los pasos de migración de datos en nuestra solución parten de los siguientes supuestos:

  1. El staging account no tiene activos o modelos de AWS IoT SiteWise configurados donde utiliza el mismo nombre o jerarquía que el growth account.
  2. Replicará los metadatos de AWS IoT SiteWise desde el growth account hacia staging account.
  3. Moverá los datos de telemetría de AWS IoT SiteWise del growth account hacia staging account.

1: Migrar modelos y activos de AWS IoT SiteWise entre cuentas de AWS

Figura 1: Arquitectura para migrar metadatos de AWS IoT SiteWise entre cuentas de AWS

Figura 1: Arquitectura para migrar metadatos de AWS IoT SiteWise entre cuentas de AWS

AWS IoT SiteWise admite operaciones masivas con activos y modelos. Las operaciones masivas de metadatos ayudan a:

  1. Exporte modelos y activos de AWS IoT SiteWise desde growth account por ejecutando un trabajo de exportación masiva. Puede elegir qué exportar cuando configure este trabajo. Para obtener más información, consulte Exportar ejemplos de metadatos.
    1. Exporte todos los activos y modelos de activos, y filtre sus activos y modelos de activos.
    2. Exporte activos y filtre sus activos.
    3. Exporte modelos de activos y filtre sus modelos de activos.
  2. Importe modelos y activos de AWS IoT SiteWise a la cuenta provisional ejecutando un trabajo de importación masiva. De manera comparable al trabajo de exportación, puede elegir qué importar. Para obtener más información, consulte Importar ejemplos de metadatos.
    1. Los archivos de importación siguen un formato específico. Para obtener más información, consulte Esquema de trabajo de transferencia de metadatos de AWS IoT SiteWise.

2: Migrar datos de telemetría de AWS IoT SiteWise entre cuentas de AWS

AWS IoT SiteWise admite la ingesta de datos históricos de gran volumen mediante el Crear trabajo de importación masiva Operación API para migrar datos de telemetría desde el growth account hacia staging account.

Figura 2: Arquitectura para migrar datos de telemetría de AWS IoT SiteWise entre cuentas de AWS

Figura 2: Arquitectura para migrar datos de telemetría de AWS IoT SiteWise entre cuentas de AWS

2.1 Recuperar datos de la cuenta de desarrollo usando BatchGetAssetPropertyValueHistory

AWS IoT SiteWise tiene datos y API de SQL operaciones para recuperar resultados de telemetría. Puede utilizar el archivo de exportación de Exportar modelos y activos de AWS IoT SiteWise ejecutando un paso de trabajo de exportación masiva para obtener una lista de los ID de activos y de propiedades de AWS IoT SiteWise para consultar mediante el LoteGetAssetPropertyValueHistory Operación API. El siguiente código de muestra demuestra la recuperación de datos de los últimos dos días:

import boto3
import csv
import time
import uuid
"""
Connect with the IoT SiteWise API and outline the property and properties 
to retrieve information for.
"""
sitewise = boto3.consumer('iotsitewise')
# restrict for under 10 AssetIds/PropertyIDs/EntryIDs per API name
asset_ids = ('a1','a2','a3') 
property_ids = ('b1','b2','b3')

"""
Get the beginning and finish timestamps for the date vary of historic information
to retrieve. Presently set to the final 2 days.
""" 
# Convert present time to Unix timestamp (seconds since epoch)
end_time = int(time.time()) 
# Begin date 2 days in the past
start_time = end_time - 2*24*60*60
"""
Generate a listing of entries to retrieve property worth historical past.
Loops by the asset_ids and property_ids lists, zipping them 
collectively to generate a singular entry for every asset-property pair.
Every entry incorporates a UUID for the entryId, the corresponding 
assetId and propertyId, and the beginning and finish timestamps for 
the date vary of historic information.
"""
entries = ()
for asset_id, property_id in zip(asset_ids, property_ids):
  entry = {
    'entryId': str(uuid.uuid4()),
    'assetId': asset_id, 
    'propertyId': property_id,
    'startDate': start_time,
    'endDate': end_time,
    'qualities': ( "GOOD" ),
  }
  entries.append(entry)
"""
Generate entries dictionary to map entry IDs to the complete entry information 
for retrieving property values by entry ID.
"""
entries_dict = {entry('entryId'): entry for entry in entries}
"""
The snippet beneath retrieves asset property worth historical past from AWS IoT SiteWise utilizing the
`batch_get_asset_property_value_history` API name. The retrieved information is then
processed and written to a CSV file named 'values.csv'.
The script handles pagination by utilizing the `nextToken` parameter to fetch
subsequent pages of knowledge. As soon as all information has been retrieved, the script
exits the loop and closes the CSV file.
"""
token = None
with open('values.csv', 'w') as f:
  author = csv.author(f)
  whereas True:
    """
    Make API name, passing entries and token if on subsequent name.
    """
    if not token:
      property_history = sitewise.batch_get_asset_property_value_history(
          entries=entries
      )
    else:
      property_history = sitewise.batch_get_asset_property_value_history(
          entries=entries,
          nextToken=token
      )
    """
    Course of success entries, extracting values into a listing of dicts.
    """
    for entry in property_history('successEntries'):
        entry_id = entry('entryId')
        asset_id = entries_dict(entry_id)('assetId')
        property_id = entries_dict(entry_id)('propertyId')
        for history_values in entry('assetPropertyValueHistory'):
          value_dict = history_values.get('worth')
          values_dict = {
            'ASSET_ID': asset_id,
            'PROPERTY_ID': property_id,
            'DATA_TYPE': str(record(value_dict.keys())(0)).higher().substitute("VALUE", ""),
            'TIMESTAMP_SECONDS': history_values('timestamp')('timeInSeconds'),
            'TIMESTAMP_NANO_OFFSET': history_values('timestamp')('offsetInNanos'),
            'QUALITY': 'GOOD',
            'VALUE': value_dict(record(value_dict.keys())(0)),
          }
          author.writerow(record(values_dict.values()))
    """
    Test for subsequent token and break when pagination is full.
    """  
    if 'nextToken' in property_history:
      token = property_history('nextToken')
    else:
      break

2.2 Ingerir datos en la cuenta provisional mediante CreateBulkImportJob

Utilice el values.csv archivo para importar datos en AWS IoT SiteWise utilizando el Crear trabajo de importación masiva Operación API. Defina los siguientes parámetros mientras crea un trabajo de importación usando CreateBulkImportJob. Para ver un ejemplo de código, consulte Crear trabajo de importación masiva en la documentación de AWS.

  1. Reemplace el adaptive-ingestion-flag con true o false. Para este ejercicio, establezca el valor en verdadero.
    1. Al establecer el valor en trueel trabajo de importación masiva hace lo siguiente:
      1. Ingiere nuevos datos en AWS IoT SiteWise.
      2. Calcula métricas y transformaciones, y admite notificaciones de datos con una marca de tiempo dentro de los siete días.
    2. Si tuviera que establecer el valor en falseel trabajo de importación masiva ingiere datos históricos en AWS IoT SiteWise.
  2. Reemplace el delete-files-after-import-flag con true para eliminar los datos del depósito de datos de Amazon S3 después de ingerirlos Almacenamiento de nivel cálido de AWS IoT SiteWise. Para obtener más información, consulte Crear un trabajo de importación masiva (AWS CLI).

Limpiar

Después de validar los resultados en el staging accountpuede eliminar los datos del growth account utilizando AWS IoT SiteWise Eliminar activo y Eliminar modelo de activo Operaciones API. Alternativamente, puede continuar usando el growth account continuar con otras actividades de desarrollo y pruebas con los datos históricos.

Conclusión

En esta publicación de weblog, abordamos el desafío que enfrentan los clientes industriales al escalar sus implementaciones de AWS IoT SiteWise. Analizamos la transferencia de PoV a la producción en múltiples plantas y líneas de producción y cómo AWS IoT SiteWise aborda esos desafíos. La migración de metadatos (como modelos de activos, jerarquías de activos/empresa y datos de telemetría históricos) entre cuentas de AWS garantiza un contexto de datos coherente. También apoya la promoción de activos y datos de IoT industrial a lo largo del ciclo de vida de desarrollo. Para obtener detalles adicionales, consulte Operaciones masivas con activos y modelos.

Biografías de autores

JoysonLewis.jpg

Joyson Neville Lewis

Joyson Neville Lewis es arquitecto sénior de datos de IoT en AWS Skilled Providers. Joyson trabajó como ingeniero de software program/datos antes de sumergirse en el espacio de la IA conversacional y el IoT industrial. Ayuda a los clientes de AWS a materializar sus visiones de IA utilizando soluciones de asistente de voz/chatbot y IoT.

Anish Kunduru.jpg

Anish Kundurú

Anish Kunduru es arquitecto de datos de IoT con servicios profesionales de AWS. Anish aprovecha su experiencia en procesamiento de flujo, I+D e IoT industrial para ayudar a los clientes de AWS a escalar prototipos a software program listo para producción.

Ashok Padmanabhan.jpg

Ashok Padmanabhan

Ashok Padmanabhan es arquitecto sénior de datos de IoT en AWS Skilled Providers. Ashok trabaja principalmente con Fabricación y Automoción para diseñar y construir soluciones de Industria 4.0.

Avik Ghosh.jpg

Avik Ghosh

Avik es gerente senior de productos en el equipo de AWS Industrial IoT y se centra en el servicio AWS IoT SiteWise. Con más de 18 años de experiencia en innovación tecnológica y entrega de productos, se especializa en IoT industrial, MES, Historian y soluciones de Industria 4.0 a gran escala. Avik contribuye a la conceptualización, investigación, definición y validación de las ofertas de servicios de AWS IoT.

Related Articles

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Stay Connected

0SeguidoresSeguir
0SuscriptoresSuscribirte
- Advertisement -spot_img

Latest Articles