Stream manager - AWS IoT Greengrass

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à.

Stream manager

Il componente stream manager (aws.greengrass.StreamManager) consente di elaborare flussi di dati da trasferire Cloud AWS dai dispositivi core Greengrass.

Per ulteriori informazioni su come configurare e utilizzare stream manager nei componenti personalizzati, vedere. Gestisci i flussi di dati sui dispositivi core Greengrass

Versioni

Questo componente ha le seguenti versioni:

  • 2.1.x

  • 2,0x

Nota

Se utilizzi stream manager per esportare dati nel cloud, non puoi aggiornare la versione 2.0.7 del componente stream manager a una versione compresa tra v2.0.8 e v2.0.11. Se stai implementando stream manager per la prima volta, ti consigliamo vivamente di distribuire la versione più recente del componente stream manager.

Type

Questo componente è un componente generico () aws.greengrass.generic. Il nucleo Greengrass esegue gli script del ciclo di vita del componente.

Per ulteriori informazioni, consulta Tipi di componenti.

Sistema operativo

Questo componente può essere installato su dispositivi principali che eseguono i seguenti sistemi operativi:

  • Linux

  • Windows

Requisiti

Questo componente presenta i seguenti requisiti:

  • Il ruolo di scambio di token deve consentire l'accesso alle Cloud AWS destinazioni utilizzate con stream manager. Per ulteriori informazioni, consultare:

  • Il componente stream manager è supportato per l'esecuzione in unVPC. Per distribuire questo componente in aVPC, è necessario quanto segue.

    • Il componente stream manager deve essere connesso al AWS servizio su cui si pubblicano i dati.

      • Amazon S3: com.amazonaws.region.s3

      • Amazon Kinesis Data Streams: com.amazonaws.region.kinesis-streams

      • AWS IoT SiteWise: com.amazonaws.region.iotsitewise.data

    • Se pubblichi dati su Amazon S3 nella us-east-1 regione, questo componente tenterà di utilizzare l'endpoint globale S3 per impostazione predefinita; tuttavia, questo endpoint non è disponibile tramite l'endpoint di interfaccia Amazon S3. VPC Per ulteriori informazioni, consulta Restrizioni e limitazioni AWS PrivateLink di Amazon S3. Per risolvere questo problema, puoi scegliere tra le seguenti opzioni.

      • Configura il componente stream manager per utilizzare l'endpoint S3 regionale nella us-east-1 regione, -Daws.s3UseUsEast1RegionalEndpoint=regional configurando in. JVM_ARGS

      • Crea un endpoint gateway Amazon S3 anziché un VPC endpoint di interfaccia Amazon S3. VPC Gli endpoint gateway S3 supportano l'accesso all'endpoint globale S3. Per ulteriori informazioni, consulta Creare un endpoint gateway.

Endpoint e porte

Questo componente deve essere in grado di eseguire richieste in uscita verso i seguenti endpoint e porte, oltre agli endpoint e alle porte necessari per le operazioni di base. Per ulteriori informazioni, consulta Consenti il traffico dei dispositivi tramite un proxy o un firewall.

Endpoint Porta Richiesto Descrizione

iotanalytics.region.amazonaws.com

443 No

Obbligatorio se si pubblicano dati su. AWS IoT Analytics

kinesis.region.amazonaws.com

443 No

Obbligatorio se si pubblicano dati su Firehose.

data.iotsitewise.region.amazonaws.com

443 No

Obbligatorio se si pubblicano dati su. AWS IoT SiteWise

*.s3.amazonaws.com

443 No

Obbligatorio se pubblichi dati su bucket S3.

Puoi sostituirlo * con il nome di ogni bucket in cui pubblichi i dati.

Dipendenze

Quando si distribuisce un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti per il componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli di versione semantica che definiscono le versioni dei componenti per ogni dipendenza. È inoltre possibile visualizzare le dipendenze per ogni versione del componente nella console.AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

2.1.13

La tabella seguente elenca le dipendenze per le versioni da 2.1.11 a 2.1.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.14.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.1.11 - 2.1.12

La tabella seguente elenca le dipendenze per le versioni da 2.1.11 a 2.1.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.13.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.1.9 – 2.1.10

La tabella seguente elenca le dipendenze per le versioni da 2.1.9 a 2.1.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.12.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.1.5 – 2.1.8

La tabella seguente elenca le dipendenze per le versioni da 2.1.5 a 2.1.8 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.11.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.1.2 – 2.1.4

La tabella seguente elenca le dipendenze per le versioni da 2.1.2 a 2.1.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.10.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.1.1

La tabella seguente elenca le dipendenze per la versione 2.1.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.9.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.1.0

La tabella seguente elenca le dipendenze per la versione 2.1.0 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.8.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.0.15

La tabella seguente elenca le dipendenze per la versione 2.0.15 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.7.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.0.13 and 2.0.14

La tabella seguente elenca le dipendenze per le versioni 2.0.13 e 2.0.14 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.6.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.0.11 and 2.0.12

La tabella seguente elenca le dipendenze per le versioni 2.0.11 e 2.0.12 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.5.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.0.10

La tabella seguente elenca le dipendenze per la versione 2.0.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.4.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.0.9

La tabella seguente elenca le dipendenze per la versione 2.0.9 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.3.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.0.8

La tabella seguente elenca le dipendenze per la versione 2.0.8 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.2.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi
2.0.7

La tabella seguente elenca le dipendenze per la versione 2.0.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.3 <2.1.0 Flessibili
Servizio di scambio di token >=0.0.0 Rigidi

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti.

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

STREAM_MANAGER_STORE_ROOT_DIR

(Facoltativo) Il percorso assoluto della directory locale utilizzata per archiviare gli stream. Questo valore deve iniziare con una barra (ad esempio, /data).

È necessario specificare una cartella esistente e l'utente di sistema che esegue il componente stream manager deve disporre delle autorizzazioni per leggere e scrivere in questa cartella. Ad esempio, è possibile eseguire i seguenti comandi per creare e configurare una cartella/var/greengrass/streams, specificata come cartella principale dello stream manager. Questi comandi consentono all'utente di sistema predefinito di leggere e scrivere in questa cartella. ggc_user

sudo mkdir /var/greengrass/streams sudo chown ggc_user /var/greengrass/streams sudo chmod 700 /var/greengrass/streams

Impostazione predefinita: /greengrass/v2/work/aws.greengrass.StreamManager

STREAM_MANAGER_SERVER_PORT

(Facoltativo) Il numero di porta locale da utilizzare per comunicare con lo stream manager.

È possibile specificare 0 di utilizzare una porta disponibile in modo casuale.

Impostazione predefinita: 8088

STREAM_MANAGER_AUTHENTICATE_CLIENT

(Facoltativo) Puoi rendere obbligatoria l'autenticazione dei client prima che possano interagire con lo stream manager. Lo Stream Manager SDK controlla l'interazione tra i client e lo stream manager. Questo parametro determina quali client possono chiamare lo Stream Manager SDK per lavorare con gli stream. Per ulteriori informazioni, consulta Stream Manager Client Authentication.

Se si specificatrue, Stream Manager SDK consente solo i componenti Greengrass come client.

Se lo specificatefalse, Stream Manager SDK consente a tutti i processi sul dispositivo principale di essere client.

Impostazione predefinita: true

STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH

(Facoltativo) La larghezza di banda massima media (in kilobit al secondo) che lo stream manager può utilizzare per esportare i dati.

Impostazione predefinita: nessun limite

STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE

(Facoltativo) Il numero massimo di thread attivi che lo stream manager può utilizzare per esportare i dati.

La dimensione ottimale dipende dall'hardware, dal volume del flusso e dal numero pianificato di flussi di esportazione. Se la velocità di esportazione è bassa, puoi regolare questa impostazione per trovare la dimensione ottimale per l'hardware e il business case. L'hardware principale del dispositivo CPU e la memoria sono fattori limitanti. Per iniziare, è possibile provare a impostare questo valore uguale al numero di core di processore sul dispositivo.

Fare attenzione a non impostare una dimensione superiore a quella supportata dall'hardware. Ogni stream consuma risorse hardware, quindi cerca di limitare il numero di flussi di esportazione su dispositivi con restrizioni.

Impostazione predefinita: 5 thread

STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES

(Facoltativo) La dimensione minima (in byte) di una parte in un caricamento multiparte su Amazon S3. Stream Manager utilizza questa impostazione e la dimensione del file di input per determinare come raggruppare i dati in una richiesta composta da più parti. PUT

Nota

Stream Manager utilizza la sizeThresholdForMultipartUploadBytes proprietà streams per determinare se esportare in Amazon S3 come caricamento singolo o multiparte. AWS IoT Greengrass i componenti possono impostare questa soglia quando creano uno stream che esporta in Amazon S3.

Impostazione predefinita: 5242880 (5 MB). Questo è anche il valore minimo.

LOG_LEVEL

(Facoltativo) Il livello di registrazione per il componente. Scegliete tra i seguenti livelli di registro, elencati qui in ordine di livello:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

Impostazione predefinita: INFO

JVM_ARGS

(Facoltativo) Gli argomenti personalizzati della Java Virtual Machine da passare allo stream manager all'avvio. Separa più argomenti per spazi.

Utilizzate questo parametro solo quando è necessario sovrascrivere le impostazioni predefinite utilizzate da. JVM Ad esempio, potrebbe essere necessario aumentare la dimensione heap predefinita se prevedi di esportare un numero elevato di flussi.

Esempio: fusione e aggiornamento della configurazione

La configurazione di esempio seguente specifica l'utilizzo di una porta non predefinita.

{ "STREAM_MANAGER_SERVER_PORT": "18088" }

File di registro locale

Questo componente utilizza il seguente file di registro.

Linux
/greengrass/v2/logs/aws.greengrass.StreamManager.log
Windows
C:\greengrass\v2\logs\aws.greengrass.StreamManager.log
Per visualizzare i log di questo componente
  • Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci /greengrass/v2 o C:\greengrass\v2 con il percorso della cartella AWS IoT Greengrass principale.

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.StreamManager.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.StreamManager.log -Tail 10 -Wait

Changelog

La tabella seguente descrive le modifiche apportate a ciascuna versione del componente.

Versione

Modifiche

2.1.13

Correzioni di bug e miglioramenti

Supporta gli FIPS endpoint per AWS IoT SiteWise

2.1.12

Correzioni di bug e miglioramenti

Aggiorna l'ordine in cui vengono utilizzate le credenziali in modo che le credenziali Greengrass siano preferite AWS per le richieste di assistenza.

2.1.11

Versione aggiornata per la versione 2.12.0 di Greengrass nucleus.

2.1.10

Correzioni di bug e miglioramenti

Risolve un problema per cui la configurazione del HTTPS proxy non considera attendibile la catena di certificati dell'autorità di certificazione (CA) Greengrass.

2.1.9

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

2.1.8

Correzioni di bug e miglioramenti

Risolve un problema per cui lo stream manager SiteWise riprova all'infinito le esportazioni con esito negativo. InvalidRequestException

2.1.7

Correzioni di bug e miglioramenti

Risolve un problema per cui lo stream manager non riesce a leggere correttamente la configurazione del proxy.

2.1.6

Correzioni di bug e miglioramenti

Risolve un problema che poteva causare un arresto anomalo all'avvio su alcuni ARMv8 processori, incluso Jetson Nano.

2.1.5

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

2.1.4

Correzioni di bug e miglioramenti
  • Risolve un problema per cui le voci relative alla stessa risorsa di proprietà con lo stesso timestamp all'interno di un singolo batch restituivano ConflictingOperationException da un unico batch, il che faceva sì SiteWise API che lo stream manager riprovasse continuamente.

  • Aggiorna il timeout di connessione predefinito da 3 secondi a 1 minuto.

2.1.3

Correzioni di bug e miglioramenti

Risolve un problema di avvio nel sistema operativo Windows quando viene eseguito come utente. SYSTEM

2.1.2

Correzioni di bug e miglioramenti
  • Risolve un problema nel sistema operativo Windows che utilizza una lingua diversa dall'inglese.

  • Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

2.1.1

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

2.1.0

Nuove funzionalità

2.0.15

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

2.0.14

Questa versione contiene correzioni di bug e miglioramenti.

2.0.13

Versione aggiornata per la versione 2.5.0 di Greengrass nucleus.

2.0.12
Correzioni di bug e miglioramenti

Risolve un problema che impediva l'aggiornamento dello stream manager v2.0.7 a una versione compresa tra v2.0.8 e v2.0.11. Se utilizzi stream manager per esportare dati nel cloud, ora puoi eseguire l'aggiornamento alla v2.0.12.

2.0.11

Versione aggiornata per la versione 2.4.0 di Greengrass nucleus.

2.0.10

Versione aggiornata per Greengrass nucleus versione 2.3.0.

2.0.9

Versione aggiornata per la versione 2.2.0 di Greengrass nucleus.

2.0.8

Versione aggiornata per la versione 2.1.0 di Greengrass nucleus.

2.0.7

Versione iniziale.