

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

# Dispositivi e processi
<a name="jobs-devices"></a>

I dispositivi possono comunicare con AWS IoT Jobs utilizzando MQTT, HTTP Signature Version 4 o HTTP TLS. Per determinare l'endpoint da utilizzare quando il dispositivo comunica con AWS IoT Jobs, esegui il comando. **DescribeEndpoint** Ad esempio, se si esegue questo comando:

```
aws iot describe-endpoint --endpoint-type iot:Data-ATS
```

si ottiene un risultato simile al seguente:

```
{
    "endpointAddress": "a1b2c3d4e5f6g7-ats.iot.us-west-2.amazonaws.com"
}
```

## Uso del protocollo MQTT
<a name="jobs-using-mqtt"></a>

I dispositivi possono comunicare con AWS IoT Jobs utilizzando il protocollo MQTT. I dispositivi si iscrivono agli argomenti MQTT per ricevere notifiche relative a nuovi lavori e ricevere risposte dal servizio AWS IoT Jobs. I dispositivi pubblicano negli argomenti MQTT per eseguire query o aggiornare lo stato del lancio di un processo. Ogni dispositivo ha il proprio argomento MQTT generale. Per ulteriori informazioni sulla pubblicazione e sulla sottoscrizione di argomenti MQTT, consulta [Protocolli di dispositivo di comunicazione](protocols.md).

Con questo metodo di comunicazione, il dispositivo utilizza il certificato specifico del dispositivo e la chiave privata per l'autenticazione con Jobs. AWS IoT

I tuoi dispositivi possono sottoscrivere i seguenti argomenti. `thing-name` è il nome dell'oggetto associato al dispositivo.
+ 

**`$aws/things/thing-name/jobs/notify`**  
I dispositivi sottoscrivono questo argomento per ricevere notifiche quando viene aggiunto o rimosso il lancio di un processo nell'elenco dei lanci di processi in sospeso.
+ 

**`$aws/things/thing-name/jobs/notify-next`**  
Effettuare la sottoscrizione a questo argomento per ricevere una notifica quando la successiva esecuzione del processo in sospeso ha subito modifiche.
+ 

**`$aws/things/thing-name/jobs/request-name/accepted`**  
Il servizio AWS IoT Jobs pubblica messaggi di successo e di fallimento su un argomento MQTT. L'argomento viene formato accodando `accepted` o `rejected` all'argomento utilizzato per effettuare la richiesta. `request-name`Ecco il nome di una richiesta come `Get` e l'argomento può essere:. `$aws/things/myThing/jobs/get` AWS IoTJobs pubblica quindi messaggi di successo sull'`$aws/things/myThing/jobs/get/accepted`argomento.
+ 

**`$aws/things/thing-name/jobs/request-name/rejected`**  
Qui, `request-name` è il nome di una richiesta come `Get`. Se la richiesta non è riuscita, AWS IoT Jobs pubblica messaggi di errore sull'`$aws/things/myThing/jobs/get/rejected`argomento.

È inoltre possibile utilizzare le seguenti operazioni API HTTPS:
+ Aggiorna lo stato dell'esecuzione di un processo chiamando l'API [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html).
+ Esegui una query sullo stato dell'esecuzione di un processo chiamando l'API [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html).
+ Recupera un elenco delle esecuzioni del processo in sospeso chiamando l'API [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_GetPendingJobExecutions.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_GetPendingJobExecutions.html).
+ Recupera l'esecuzione del processo in sospeso successiva chiamando l'API [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html) con `jobId` come `$next`.
+ Ottieni e avvia l'esecuzione del processo in sospeso successiva chiamando l'API [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html).

## Utilizzo di HTTP Signature Version 4
<a name="jobs-using-http-v4"></a>

I dispositivi possono comunicare con AWS IoT Jobs utilizzando la versione 4 della firma HTTP sulla porta 443. Questo è il metodo utilizzato da AWS SDKs and CLI. Per ulteriori informazioni su questi strumenti, consulta [AWS CLICommand Reference: iot-jobs-data](https://docs.aws.amazon.com/cli/latest/reference/iot-jobs-data/index.html) or [AWSSDKs and Tools](https://aws.amazon.com/tools/#sdk) e consulta la IotJobsDataPlane sezione relativa alla lingua preferita.

Con questo metodo di comunicazione, il dispositivo utilizza le credenziali IAM per l'autenticazione con AWS IoT Jobs.

Se si usa questo metodo sono disponibili i seguenti comandi: 
+ **DescribeJobExecution**

  `aws iot-jobs-data describe-job-execution ...` 
+ **GetPendingJobExecutions**

  `aws iot-jobs-data get-pending-job-executions ...` 
+ **StartNextPendingJobExecution**

  `aws iot-jobs-data start-next-pending-job-execution ...` 
+ **UpdateJobExecution**

  `aws iot-jobs-data update-job-execution ...` 

## Uso di HTTP TLS
<a name="jobs-using-http-tls"></a>

I dispositivi possono comunicare con AWS IoT Jobs utilizzando HTTP TLS sulla porta 8443 utilizzando un client software di terze parti che supporta questo protocollo.

Con questo metodo, il dispositivo usa l'autenticazione basata su certificato X.509 (ad esempio, usando il proprio certificato specifico del dispositivo e la chiave privata).

Se si usa questo metodo sono disponibili i seguenti comandi: 
+ **DescribeJobExecution**
+ **GetPendingJobExecutions**
+ **StartNextPendingJobExecution**
+ **UpdateJobExecution**

## Programmazione dei dispositivi per l'uso di Jobs
<a name="programming-devices"></a>

Gli esempi di questa sezione usano MQTT per illustrare come funziona un dispositivo che utilizza il servizio AWS IoT Jobs. In alternativa, puoi utilizzare i comandi API o CLI corrispondenti. Per questi esempi, supponiamo che un dispositivo chiamato `MyThing` effettuerà la sottoscrizione ai seguenti argomenti MQTT:
+ `$aws/things/MyThing/jobs/notify` (o `$aws/things/MyThing/jobs/notify-next`)
+ `$aws/things/MyThing/jobs/get/accepted`
+ `$aws/things/MyThing/jobs/get/rejected`
+ `$aws/things/MyThing/jobs/jobId/get/accepted`
+ `$aws/things/MyThing/jobs/jobId/get/rejected`

 Se utilizzi la firma tramite codice perAWS IoT, il codice del dispositivo deve verificare la firma del file di codice. La firma si trova nel documento del processo all'interno della proprietà `codesign`. Per ulteriori informazioni sulla verifica della firma del file di codice, consulta la sezione relativa all'[esempio di agente del dispositivo](https://github.com/aws/aws-iot-device-sdk-js#jobsAgent).

**Topics**
+ [Programmazione dei dispositivi per l'uso di Jobs](#programming-devices)
+ [Flusso di lavoro dei dispositivi](jobs-workflow-device-online.md)
+ [Flusso di lavoro dei processi](jobs-workflow-jobs-online.md)
+ [Notifiche dei processi](jobs-comm-notifications.md)