Gestione dei flussi di dati sul AWS IoT Greengrass Core - AWS IoT Greengrass

AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione dei flussi di dati sul AWS IoT Greengrass Core

AWS IoT Greengrassper stream manager, è più facile e affidabile il trasferimento di dati IoT di volumi elevati nellaCloud AWS. Stream manager elabora i flussi di dati localmente e li esporta nellaCloud AWSautomaticamente. Questa caratteristica si integra con scenari di edge comuni, come l'inferenza di Machine Learning (ML), in cui i dati vengono elaborati e analizzati localmente prima di essere esportati nellaCloud AWSo destinazioni di archiviazione locali.

Stream manager semplifica lo sviluppo di applicazioni. Le applicazioni IoT possono utilizzare un meccanismo standardizzato per elaborare flussi a elevato volume e gestire policy di conservazione dei dati locali anziché creare funzionalità di gestione dei flussi personalizzate. Le applicazioni IoT possono leggere e scrivere nei flussi. Possono definire policy per tipo di storage, dimensioni e conservazione dei dati in base al flusso per controllare in che modo stream manager elabora ed esporta i flussi.

Stream manager è progettato per funzionare in ambienti con connettività intermittente o limitata. Puoi definire l'utilizzo della larghezza di banda, il comportamento di timeout e la modalità di gestione dei dati del flusso quando il core è connesso o disconnesso. Per dati critici, è possibile impostare priorità per controllare l'ordine di esportazione dei flussi nellaCloud AWS.

È possibile configurare le esportazioni automatiche sulCloud AWSper lo stoccaggio o l'ulteriore elaborazione e analisi. Stream Manager supporta l'esportazione nei seguenti modiCloud AWSdestinazioni.

  • Canali inAWS IoT Analytics.AWS IoT Analyticsconsente di eseguire analisi avanzate sui dati per aiutare a prendere decisioni aziendali e migliorare i modelli di machine learning. Per ulteriori informazioni, consultaChe cos'èAWS IoT Analytics?nellaAWS IoT AnalyticsGuida per l’utente di.

  • Flussi in Kinesis Data Streams. Kinesis Data Streams viene comunemente utilizzato per aggregare elevati volumi di dati e caricarli in un data warehouse o cluster di riduzione della mappa. Per ulteriori informazioni, consultaCos'è Amazon Kinesis Data Streams?nellaGuida per gli sviluppatori di Amazon Kinesis.

  • Proprietà degli asset inAWS IoT SiteWise.AWS IoT SiteWiseconsente di raccogliere, organizzare e analizzare i dati provenienti da apparecchiature industriali su larga scala. Per ulteriori informazioni, consultaChe cos'èAWS IoT SiteWise?nellaAWS IoT SiteWiseGuida per l’utente di.

  • Oggetti in Amazon S3. È possibile utilizzare Amazon S3 per archiviare e recuperare grandi quantità di dati. Per ulteriori informazioni, consultaChe cos'è Amazon S3?nellaGuida per sviluppatori di Amazon Simple Storage.

Flusso di lavoro della gestione dei flussi

Le applicazioni IoT interagiscono con stream manager tramiteAWS IoT GreengrassSDK Core. In un flusso di lavoro semplice, una funzione Lambda definita dall'utente in esecuzione sul core Greengrass consuma dati IoT, come i parametri di temperatura e pressione delle serie temporali. La funzione Lambda potrebbe filtrare o comprimere i dati e quindi chiamareAWS IoT GreengrassCore SDK per scrivere i dati in un flusso in stream manager. Stream Manager può esportare lo stream nelCloud AWSautomaticamente, in base alle policy definite per il flusso. Le funzioni Lambda definite dall'utente possono anche inviare i dati direttamente ai database locali o ai repository di storage.

Le applicazioni IoT possono includere più funzioni Lambda definite dall'utente che leggono o scrivono nei flussi. Queste funzioni Lambda locali possono leggere e scrivere nei flussi per filtrare, aggregare e analizzare i dati localmente. Questo consente di rispondere rapidamente a eventi locali ed estrarre informazioni utili prima che i dati vengano trasferiti dal core nel cloud o in destinazioni locali.

Un flusso di lavoro di esempio è mostrato nel diagramma seguente.

Diagramma del flusso di lavoro di stream manager.

Per utilizzare stream manager, iniziare configurando i parametri di stream manager per definire le impostazioni di runtime a livello di gruppo applicabili a tutti i flussi sul core Greengrass. Queste impostazioni personalizzabili consentono di controllare il modo in cui stream manager archivia, elabora ed esporta i flussi in base alle esigenze aziendali e ai vincoli cui è oggetto l'ambiente. Per ulteriori informazioni, consulta la pagina Configurazione di Stream Manager di AWS IoT Greengrass .

Dopo aver configurato Stream Manager, è possibile creare e distribuire le applicazioni IoT. Si tratta in genere di funzioni Lambda definite dall'utente che utilizzanoStreamManagerClientnellaAWS IoT GreengrassSDK Core per creare flussi e interagire con essi. Durante la creazione del flusso, la funzione Lambda definisce policy per flusso, come destinazioni di esportazione, priorità e persistenza. Per ulteriori informazioni, inclusi frammenti di codice perStreamManagerClient, vediUtilizza StreamManagerClient per lavorare con i flussi.

Per tutorial che configurano un flusso di lavoro semplice, consultaEsportazione di flussi di dati inCloud AWS(console)oEsportazione di flussi di dati inCloud AWS(CLI).

Requisiti

Per utilizzare stream manager, è necessario soddisfare i seguenti requisiti:

  • È necessario utilizzareAWS IoT GreengrassSoftware base v1.10 o versioni successive, con stream manager abilitato. Per ulteriori informazioni, consulta la pagina Configurazione di Stream Manager di AWS IoT Greengrass .

    Stream manager non è supportato su OpenWrt distribuzioni.

  • Java 8 Runtime (JDK 8) deve essere installato sul core.

    • Per distribuzioni basate su Debian (incluso Raspbian) o distribuzioni basate su Ubuntuu, eseguire il comando seguente:

      sudo apt install openjdk-8-jdk
    • Per distribuzioni basate su Red Hat (incluso Amazon Linux), eseguire il comando seguente:

      sudo yum install java-1.8.0-openjdk

      Per ulteriori informazioni, consulta How to download and install prebuilt OpenJDK packages nella documentazione di OpenJDK.

     

  • Stream manager richiede un minimo di 70 MB di RAM in aggiunta al software AWS IoT Greengrass Core di base. Il requisito di memoria totale dipende dal carico di lavoro.

     

  • Le funzioni Lambda definite dall'utente devono utilizzare ilAWS IoT GreengrassCore SDKper interagire con stream manager. LaAWS IoT GreengrassCore SDK è disponibile in diverse lingue, ma solo le seguenti versioni supportano operazioni stream manager:

    • SDK Java (v1.4.0 o versioni successive)

    • SDK Python (v1.5.0 o versioni successive)

    • SDK Node.js (v1.6.0 o versioni successive)

    Scarica la versione dell'SDK che corrisponde al runtime della funzione Lambda e includila nel pacchetto di distribuzione della funzione Lambda.

    Nota

    LaAWS IoT GreengrassCore SDK per Python richiede Python 3.7 o versioni successive e ha altre dipendenze di pacchetti. Per ulteriori informazioni, consultaCreare un pacchetto di implementazione della funzione Lambda (console)oCreare un pacchetto di implementazione della funzione Lambda (CLI).

  • Se definisciCloud AWSPer esportare le destinazioni per un flusso, è necessario creare i target di esportazione e concedere le autorizzazioni di accesso nel ruolo del gruppo Greengrass. A seconda della destinazione, potrebbero essere applicati anche altri requisiti. Per ulteriori informazioni, consulta:

    Sei responsabile del mantenimento di questiCloud AWSrisorse AWS.

Sicurezza dei dati

Quando utilizzi stream manager, tiene presente le seguenti considerazioni di sicurezza.

Sicurezza dei dati locali

AWS IoT Greengrass non esegue la crittografa di dati di flusso inattivi o in transito localmente tra i componenti sul dispositivo core.

  • Dati inattivi. I dati di flusso vengono archiviati localmente in una directory di storage sul core Greengrass. Per la sicurezza dei dati, AWS IoT Greengrass si basa sulle autorizzazioni dei file Unix e sulla crittografia completa del disco, se abilitata. Puoi utilizzare il parametro STREAM_MANAGER_STORE_ROOT_DIR opzionale per specificare la directory di storage. Se modifichi questo parametro in un secondo momento per utilizzare una directory di storage diversa, AWS IoT Greengrass non elimina la directory di storage precedente o il relativo contenuto.

     

  • Dati in transito localmente.AWS IoT Greengrassnon esegue la crittografa dei dati di flusso in transito localmente sul nucleo tra origini dati, funzioni Lambda,AWS IoT GreengrassCore SDK e stream manager.

     

  • Dati in transito versoCloud AWS. Stream di dati esportati dal gestore dello stream nelCloud AWSutilizzare standardAWScrittografa client di servizi con Transport Layer Security (TLS).

Per ulteriori informazioni, consulta la pagina Crittografia dei dati .

Autenticazione client

I client di stream manager utilizzanoAWS IoT GreengrassSDK Core per comunicare con stream manager. Quando l'autenticazione client è abilitata, solo funzioni Lambda nel gruppo Greengrass possono interagire con i flussi in stream manager. Quando l'autenticazione client è disabilitata, qualsiasi processo in esecuzione sul core Greengrass (ad esempio i container Docker) può interagire con i flussi in stream manager. È opportuno disabilitare l'autenticazione solo se richiesto dal business case.

Utilizza il parametro STREAM_MANAGER_AUTHENTICATE_CLIENT per impostare la modalità di autenticazione client. Puoi configurare questo parametro dalla console o dall'API di AWS IoT Greengrass. Le modifiche diventano effettive dopo la distribuzione del gruppo.

  Abilitato Disabilitato

Valore del parametro

true (predefinito e consigliato)

false

Client consentiti

Funzioni Lambda definite dall'utente nel gruppo Greengrass

Funzioni Lambda definite dall'utente nel gruppo Greengrass

Altri processi in esecuzione sul dispositivo core Greengrass

Consultare anche