

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
<a name="key-concepts-jobs"></a>

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
<a name="basic-concepts-jobs"></a>

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. Un documento di lavoro contiene uno o più documenti URLs in 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.  
Nelle risposte MQTT, il `jobDocument` campo è un oggetto JSON. Nelle risposte HTTP, è una rappresentazione in formato stringa dell'oggetto JSON.

**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](thing-groups.md) 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
<a name="advanced-concepts-jobs"></a>

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

## Predefinito URLs
<a name="security-concepts-jobs"></a><a name="presigned"></a>

Per un accesso sicuro e limitato nel tempo ai dati non inclusi nel documento di lavoro, puoi utilizzare Amazon S3 prefirmato. URLs 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 Amazon S3 prefirmato. URLs

Il collegamento segnaposto ha il formato seguente:

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

{{bucket}}dov'è il nome del bucket e {{key}} l'oggetto nel bucket a cui ti stai collegando.

Nelle regioni di Pechino e Ningxia, i predefiniti URLs funzionano solo se il proprietario della risorsa dispone di una licenza ICP (Internet Content Provider). Per ulteriori informazioni, consulta [Amazon Simple Storage Service](https://docs.amazonaws.cn/en_us/aws/latest/userguide/s3.html) nella documentazione *Getting Started with AWS Services in Cina*.

## Concetti relativi alla configurazione dei processi
<a name="advanced-concepts-jobs"></a>

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](jobs-configurations-details.md#job-rollout-abort-scheduling).

**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](jobs-configurations-details.md#job-rollout-abort-scheduling).

**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](jobs-configurations-details.md#job-rollout-abort-scheduling).

**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](jobs-configurations-details.md#job-timeout-retry).

**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](jobs-configurations-details.md#job-timeout-retry). 