Concetti chiave dei processi - AWS IoT Core

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

Concetti chiave dei processi

I concetti seguenti forniscono dettagli sui AWS IoT lavori e su come creare e distribuire lavori per eseguire operazioni remote sui dispositivi.

Concetti di base

Di seguito sono riportati i concetti di base che è necessario conoscere quando si utilizza AWS IoT Jobs.

Processo

Un processo è un'operazione remota che viene inviata a uno o più dispositivi connessi ad AWS IoT ed eseguita su di essi. Puoi ad esempio definire un processo che indichi a un insieme di dispositivi di scaricare e installare un'applicazione o eseguire aggiornamenti del firmware, eseguire il riavvio, ruotare i certificati o eseguire operazioni di risoluzione dei problemi in remoto.

Documento del processo

Per creare un processo, devi prima creare un documento del processo che sia una descrizione delle operazioni remote che i dispositivi dovranno eseguire.

I documenti dei processi sono documenti JSON con codifica UTF-8 che contengono le informazioni necessarie ai dispositivi per eseguire un processo. Il documento di un processo contiene uno o più URL da cui il dispositivo può scaricare un aggiornamento o altri dati. Il documento del processo può essere archiviato in un bucket di Amazon S3 oppure essere incluso inline con il comando che crea il processo.

Suggerimento

Per esempi di documenti di lavoro, consultate l'esempio jobs-agent.js nell' AWS IoT SDK per JavaScript.

Target

Quando crei un processo, devi specificare un elenco di target che sono i dispositivi che devono eseguire le operazioni. I target possono essere oggetti, gruppi di oggetti o entrambi. Il servizio AWS IoT Jobs invia un messaggio a ciascuna destinazione per informarla della disponibilità di un lavoro.

Distribuzione

Dopo avere creato un processo fornendo il documento di processo e specificato l'elenco di destinazioni, il documento di processo viene quindi distribuito sui dispositivi di destinazione remoti per i quali desideri eseguire l'aggiornamento. Per i processi snapshot, il processo viene completato dopo l'implementazione nei dispositivi di destinazione. Per i processi continui, il processo viene implementato su un gruppo di dispositivi quando questi vengono aggiunti ai gruppi.

Esecuzione del processo

L'esecuzione di un processo è un'istanza di un processo su un dispositivo target. Il target avvia l'esecuzione di un processo scaricando il documento del processo. Quindi esegue le operazioni specificate nel documento e ne segnala lo stato di avanzamento a AWS IoT. Un numero di esecuzione è un identificatore univoco dell'esecuzione di un processo su un determinato target. Il servizio AWS IoT Jobs fornisce comandi per tenere traccia dell'avanzamento dell'esecuzione di un lavoro su un obiettivo e dell'avanzamento di un processo su tutte le destinazioni.

Concetti relativi ai tipi di processo

I seguenti concetti possono aiutarti a comprendere meglio i diversi tipi di lavori che puoi creare con AWS IoT Jobs.

Processo di snapshot

Per impostazione predefinita, un processo viene inviato a tutti i target specificati al momento della creazione del processo. Dopo che i target completano il processo (o segnalano l'impossibilità di farlo), il processo è completato.

Processo continuo

Un processo continuo viene inviato a tutti i target specificati al momento della creazione del processo. Viene eseguito in modo continuo e inviato a tutti i nuovi dispositivi (oggetti) che vengono aggiunti al gruppo target. Ad esempio, un processo continuo può essere usato per eseguire l'onboarding o l'aggiornamento dei dispositivi quando vengono aggiunti a un gruppo. Puoi rendere un processo continuo impostando un parametro opzionale quando crei il processo.

Nota

Quando il tuo parco istanze IoT di destinazione è definito utilizzando gruppi di oggetti dinamici, ti consigliamo di usare processi continui anziché i processi di snapshot. Utilizzando i processi continui, i dispositivi che si uniscono al gruppo ricevono l'esecuzione del processo anche dopo la creazione del processo.

URL prefirmati

Per permettere a un dispositivo l'accesso sicuro e di durata limitata ai dati non inclusi nel documento del processo, puoi usare URL Amazon S3 prefirmati. Puoi inserire i dati in un bucket Amazon S3 e aggiungere un collegamento segnaposto ai dati nel documento del processo. Quando AWS IoT Jobs riceve una richiesta per il documento di lavoro, analizza il documento di lavoro cercando i link segnaposto, quindi sostituisce i link con URL Amazon S3 prefirmati.

Il collegamento segnaposto ha il formato seguente:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

dove bucket è il nome del bucket e chiave è l'oggetto nel bucket a cui rimanda il collegamento.

Nelle regioni di Pechino e Ningxia, gli URL prefirmati funzionano solo se il proprietario della risorsa dispone di una licenza ICP (Internet Content Provider). Per ulteriori informazioni, consulta Amazon Simple Storage Service nella documentazione Getting Started with AWS Services in China.

Concetti relativi alla configurazione dei processi

I concetti seguenti sono utili per comprendere come configurare processi.

Rollouts

Puoi specificare con che velocità vengono inviate ai target le notifiche relative all'esecuzione di un processo in sospeso. In questo modo, è possibile creare un'implementazione per fasi, per gestire meglio aggiornamenti, riavvii e altre operazioni. È possibile creare una configurazione di rollout utilizzando una velocità di rollout statica o esponenziale. Per specificare il numero massimo di obiettivi di processo a cui inviare notifiche ogni minuto, utilizza una velocità di rollout costante.

Per esempi di impostazione delle frequenze di implementazione e ulteriori informazioni sull'implementazione del processo di configurazione, consulta Configurazioni di rollout, pianificazione e interruzione dei processi.

Pianificazione

La pianificazione del processo consente di pianificare il periodo di tempo di implementazione di un documento del processo in tutti i dispositivi del gruppo di destinazione per processi continui e snapshot. Inoltre, è possibile creare una finestra di manutenzione opzionale contenente date e ore specifiche in cui un processo avvierà la distribuzione del documento del processo in tutti i dispositivi del gruppo di destinazione. Una finestra di manutenzione è un'istanza ricorrente con una frequenza di date e ore giornaliera, settimanale, mensile o personalizzata selezionata durante la creazione del processo iniziale o del modello di processo. È possibile pianificare solo processi continui per eseguire una distribuzione durante una finestra di manutenzione.

La pianificazione dei processo è specifica del processo. Le singole esecuzioni del processo non possono essere pianificate. Per ulteriori informazioni, consulta Configurazioni di rollout, pianificazione e interruzione dei processi.

Interruzione

È possibile creare un insieme di condizioni per interrompere i rollout quando sono soddisfatti i criteri specificati. Per ulteriori informazioni, consulta Configurazioni di rollout, pianificazione e interruzione dei processi.

Timeout

I timeout del processo ti informano ogni volta che l'implementazione di un processo si blocca in stato IN_PROGRESS per un periodo di tempo inaspettatamente lungo. Sono disponibili due tipi di timer: in corso e della fase. Quando il processo è IN_PROGRESS, è possibile monitorare e tracciare il progresso dell'implementazione del processo.

Le configurazioni di rollout e interruzione sono specifiche del processo, mentre la configurazione di timeout è specifica dell'implementazione del processo. Per ulteriori informazioni, consulta Configurazioni di timeout e di nuovo tentativo di esecuzione del processo.

Tentativi

Le ripetizioni di tentativi per i processi permettono di riprovare l'esecuzione del processo in caso di errore e/o timeout del processo. Puoi definire fino a 10 nuovi tentativi di esecuzione del processo. È possibile monitorare e tracciare l'avanzamento del nuovo tentativo e verificare se l'esecuzione del processo è riuscita.

Le configurazioni di rollout e interruzione sono specifiche del processo, mentre le configurazioni di timeout e ripetizione dei tentativi sono specifiche dell'esecuzione del processo. Per ulteriori informazioni, consulta Configurazioni di timeout e di nuovo tentativo di esecuzione del processo.