Azure Stream Analytics en IoT Edge

Azure Stream Analytics en IoT Edge es una versión ligera de Azure Stream Analytics que se ejecuta directamente en dispositivos IoT Edge para análisis casi en tiempo real en datos generados por el dispositivo. Azure Stream Analytics en IoT Edge proporciona baja latencia, resistencia, uso eficaz del ancho de banda y cumplimiento normativo. Puede implementar lógica de análisis y control cerca de operaciones industriales mientras usa Azure Stream Analytics basados en la nube para el procesamiento de datos a gran escala.

Azure Stream Analytics en IoT Edge se ejecuta en el marco de Azure IoT Edge . Después de crear un trabajo de Stream Analytics en el portal de Azure, puede implementarlo y administrarlo mediante IoT Hub.

Escenarios comunes de Stream Analytics en IoT Edge

En el diagrama siguiente se muestra el flujo de datos entre dispositivos IoT y la nube de Azure.

Diagrama que muestra el flujo de datos entre dispositivos IoT y el Azure cloud.

Comando y control de baja latencia

Los sistemas de seguridad de fabricación deben responder a los datos operativos con latencia ultra-baja. Con Stream Analytics en IoT Edge, puede analizar los datos del sensor casi en tiempo real y emitir comandos al detectar anomalías para detener una máquina o desencadenar alertas.

Conectividad limitada a la nube

Los sistemas críticos, como equipos de minería de datos remotos, buques conectados o perforación en alta mar, deben analizar y reaccionar a los datos incluso cuando la conectividad en la nube es intermitente. Mediante Stream Analytics, la lógica de streaming se ejecuta independientemente de la conectividad de red y puede elegir lo que envía a la nube para su posterior procesamiento o almacenamiento.

Ancho de banda limitado

El volumen de datos producidos por motores jet o coches conectados puede ser tan grande que debe filtrar o preprocesar antes de enviarlo a la nube. Mediante Stream Analytics, puede filtrar o agregar los datos que necesita enviar a la nube.

Cumplimiento normativo y procesamiento de datos locales

El cumplimiento normativo puede requerir que anonimice localmente o agregue algunos datos antes de enviarlos a la nube. Mediante Stream Analytics en IoT Edge, puede procesar datos confidenciales en el entorno local y enviar solo resultados compatibles y transformados a la nube.

Trabajos de Edge en Azure Stream Analytics

Los trabajos de Edge de Stream Analytics son cargas de trabajo de Stream Analytics en contenedores implementadas en dispositivos de Azure IoT Edge. Los trabajos de Edge tienen dos partes:

  • Un elemento en la nube que controla la definición del trabajo: define entradas, salidas, consultas y otras configuraciones, como eventos desordenados, en la nube.

  • Un módulo que se ejecuta en los dispositivos IoT. El módulo contiene el motor de Stream Analytics y recibe la definición de trabajo de la nube.

Stream Analytics usa IoT Hub para desplegar trabajos de borde en los dispositivos. Para más información, consulte Implementación de IoT Edge.

Diagrama que muestra los componentes de un trabajo perimetral de Azure Stream Analytics.

Limitaciones de los trabajos en Edge

Los trabajos perimetrales de Stream Analytics tienen como objetivo la paridad entre las implementaciones perimetrales y en la nube. Un trabajo en la nube es un trabajo estándar de Azure Stream Analytics que se ejecuta en Azure, mientras que un trabajo de borde se ejecuta localmente en un dispositivo IoT Edge. Stream Analytics admite la mayoría de las características del lenguaje de consulta SQL para edge y cloud. Sin embargo, los trabajos de edge no admiten las siguientes funciones:

  • Funciones definidas por el usuario (UDF) en JavaScript. Las UDF están disponibles en C# para trabajos de IoT Edge (versión preliminar).
  • Agregados definidos por el usuario (UDA).
  • Funciones de Azure Machine Learning
  • Formato AVRO para la entrada y salida. Los trabajos perimetrales solo admiten formatos CSV y JSON.
  • Los operadores SQL siguientes:
    • PARTITION BY
    • GetMetadataPropertyValue
  • Directiva de llegada tardía

Requisitos de tiempo de ejecución y hardware

Para ejecutar Stream Analytics en IoT Edge, necesita dispositivos que ejecuten Azure IoT Edge.

Stream Analytics y Azure IoT Edge usan contenedores de Docker para proporcionar una solución portátil que se ejecuta en varios sistemas operativos host (Windows, Linux).

Stream Analytics en IoT Edge se ejecuta en forma de imágenes de Linux en arquitecturas x86-64 y ARM.

Entradas y salidas para trabajos perimetrales de Stream Analytics

Los trabajos perimetrales de Stream Analytics obtienen entradas y salidas de otros módulos que se ejecutan en dispositivos IoT Edge. Para conectarse desde y a módulos específicos, establezca la configuración de enrutamiento en tiempo de implementación. Para obtener más información, consulte la documentación de composición del módulo IoT Edge.

Tanto las entradas como las salidas admiten formatos CSV y JSON.

Para cada flujo de entrada y salida que cree en el trabajo de Stream Analytics, Stream Analytics crea un punto de conexión correspondiente en el módulo implementado. Utilice estos puntos de conexión en las rutas de su despliegue.

Los tipos de entrada de flujo admitidos son:

  • Centro de Microsoft Edge
  • Centro de eventos
  • IoT Hub

Los tipos de salida de flujo admitidos son:

  • Centro de Microsoft Edge
  • Base de datos SQL
  • Centro de eventos
  • Blob Storage/Azure Data Lake Storage Gen2

La entrada de referencia admite el tipo de archivo de referencia, que proporciona datos estáticos o de variación lenta para búsquedas. Para alcanzar otros destinos de salida, encadene un trabajo de Stream Analytics alojado en la nube aguas abajo. Por ejemplo, un trabajo de Stream Analytics alojado en IoT Edge envía la salida a Edge Hub, que luego puede enviar la salida a IoT Hub. Use un segundo trabajo de Azure Stream Analytics hospedado en la nube con entrada de IoT Hub y salida para Power BI u otro tipo de salida.

Información de la imagen del módulo de Azure Stream Analytics

En la tabla siguiente se muestran las imágenes del módulo de Stream Analytics en IoT Edge disponibles. Esta información de versión se actualizó por última vez el 2020-09-21. Compruebe el Microsoft Container Registry para ver las versiones disponibles más recientes.

Imagen Imagen base Architecture SO
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64 mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine amd64 Linux
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7 mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7 brazo Linux
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64 mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8 arm64 Linux

Importante

Las imágenes base enumeradas en esta tabla usan .NET Core 2.1 y 3.0, que han alcanzado el final de la vida útil. Consulte el Microsoft Container Registry para ver las imágenes actualizadas de Stream Analytics en IoT Edge creadas a partir de versiones compatibles de .NET.