Analisi di flusso di Azure in IoT Edge

Analisi di flusso di Azure in IoT Edge permette agli sviluppatori di distribuire intelligence di analisi in tempo reale più vicino ai dispositivi IoT, in modo da consentire lo sblocco del valore completo dei dati generati dai dispositivi. Analisi di flusso di Azure è progettato per offrire bassa latenza, resilienza, uso efficiente della larghezza di banda e conformità. Le aziende possono distribuire la logica di controllo vicino alle operazioni industriali e integrare l'analisi di Big Data eseguita nel cloud.

L'Analisi di flusso di Azure su IoT Edge viene eseguita all'interno del framework di Azure IoT Edge. Dopo aver creato il processo in Analisi di flusso, è possibile distribuirlo e gestirlo usando hub IoT.

Scenari comuni

Questa sezione descrive gli scenari comuni per Analisi di flusso in IoT Edge. Il diagramma seguente illustra il flusso di dati tra i dispositivi IoT e il cloud di Azure.

High level diagram of IoT Edge

Comando e controllo a bassa latenza

I sistemi di sicurezza di produzione devono rispondere ai dati operativi con latenza ultra bassa. Con Analisi di flusso in IoT Edge, è possibile analizzare i dati dei sensori quasi in tempo reale ed eseguire comandi quando si rilevano anomalie per arrestare un computer o attivare avvisi.

Connettività limitata al cloud

per i sistemi mission-critical, come le attrezzature per le attività minerarie in remoto, le imbarcazioni connesse o le trivellazioni offshore, è fondamentale analizzare e reagire ai dati, anche quando la connettività cloud è intermittente. Con Analisi di flusso, la logica di streaming viene eseguita indipendentemente dalla connettività di rete ed è possibile scegliere ciò che si invia al cloud per un'ulteriore elaborazione o archiviazione.

Larghezza di banda limitata

il volume dei dati generati dai motori a reazione o dalle automobili connesse può essere talmente elevato che i dati devono essere filtrati o pre-elaborati prima di essere inviati al cloud. Usando Analisi di flusso, è possibile filtrare o aggregare i dati che devono essere inviati al cloud.

Conformità

la conformità alle normative potrebbe richiedere che alcuni dati siano resi anonimi o aggregati in locale prima di essere inviati al cloud.

Processi Edge in Analisi di flusso di Azure

I processi Edge di Analisi di flusso vengono eseguiti in contenitori distribuiti nei dispositivi Azure IoT Edge. I processi perimetrali sono costituiti da due parti:

  • Parte cloud responsabile della definizione del processo: gli utenti definiscono input, output, query e altre impostazioni, ad esempio eventi non ordinati, nel cloud.

  • Un modulo in esecuzione nei dispositivi IoT. Il modulo contiene il motore di Analisi di flusso e riceve la definizione del processo dal cloud.

Analisi di flusso usa hub IoT per distribuire processi perimetrali nei dispositivi. Per altre informazioni, vedere Distribuzione di IoT Edge.

Azure Stream Analytics Edge job

Limitazioni del processo Edge

L'obiettivo è di ottenere una parità tra i processi IoT Edge e i processi cloud. La maggior parte delle funzionalità del linguaggio di query SQL è supportata sia per edge che per il cloud. Tuttavia, le funzionalità seguenti non sono supportate per i processi perimetrali:

  • Funzioni definite dall'utente in JavaScript. Le funzioni definite dall'utente sono disponibili in C# per i processi IoT Edge (anteprima).
  • Aggregazioni definite dall'utente.
  • Funzioni di Azure Machine Learning.
  • Formato AVRO per l'input/output. In questo momento sono supportati solo CSV e JSON.
  • Gli operatori SQL seguenti:
    • PARTITION BY
    • GetMetadataPropertyValue
  • Criteri di arrivo in ritardo

Requisiti hardware e di runtime

Per eseguire Analisi di flusso in IoT Edge, sono necessari dispositivi che possono eseguire Azure IoT Edge.

Analisi di flusso e Azure IoT Edge usano contenitori Docker per fornire una soluzione portatile in esecuzione in più sistemi operativi host (Windows, Linux).

Analisi di flusso in IoT Edge viene resa disponibile come immagini Windows e Linux, in esecuzione in architetture x86-64 o ARM (Advanced RISC Machines).

Input e output

I processi Edge di Analisi di flusso possono ottenere input e output da altri moduli in esecuzione nei dispositivi IoT Edge. Per la connessione da e a moduli specifici, è possibile impostare la configurazione di routing in fase di distribuzione. Altre informazioni sono disponibili nella documentazione relativa alla composizione di un modulo IoT Edge.

Per input e output sono supportati i formati CSV e JSON.

Per ogni flusso di input e output creato nel processo di Analisi di flusso, viene creato un endpoint corrispondente nel modulo distribuito. Questi endpoint possono essere usati nelle route della distribuzione.

I tipi di input di flusso supportati sono:

  • Hub di Edge
  • Hub eventi
  • Hub IoT

I tipi di output del flusso supportati sono:

  • Hub di Edge
  • Database SQL
  • Hub eventi
  • Blob Archiviazione/ADLS Gen2

L'input di riferimento supporta il tipo di file di riferimento. Altri output possono essere ottenuti tramite un downstream del processo cloud. Ad esempio, un processo di Analisi di flusso ospitato in Edge invia l'output all'hub Edge, che può quindi inviare l'output all'hub IoT. È possibile usare un secondo processo di Analisi di flusso di Azure ospitato nel cloud con input da hub IoT e output in Power BI o in un altro tipo di output.

Licenza e comunicazioni di terze parti

Informazioni sull'immagine del modulo Analisi di flusso di Azure

Queste informazioni sulla versione sono state aggiornate l'ultima volta il 2020-09-21:

  • Immagine: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64

    • immagine di base: mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine
    • Piattaforma:
      • architettura: amd64
      • sistema operativo: linux
  • Immagine: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7

    • immagine di base: mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7
    • Piattaforma:
      • architettura: arm
      • sistema operativo: linux
  • Immagine: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64

    • immagine di base: mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8
    • Piattaforma:
      • architettura: arm64
      • sistema operativo: linux

Come ottenere assistenza

Per un'ulteriore assistenza, provare la pagina di domande e risposte Microsoft per Analisi di flusso di Azure.

Passaggi successivi