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
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" }
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.
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/notifyI 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-nextEffettuare 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
/acceptedIl servizio AWS IoT Jobs pubblica messaggi di successo e di fallimento su un argomento MQTT. L'argomento viene formato accodando
accepted
orejected
all'argomento utilizzato per effettuare la richiesta.request-name
Ecco il nome di una richiesta comeGet
e l'argomento può essere:.$aws/things/myThing/jobs/get
AWS IoT Jobs pubblica quindi messaggi di successo sull'$aws/things/myThing/jobs/get/accepted
argomento. -
$aws/things/
thing-name
/jobs/request-name
/rejectedQui,
request-name
è il nome di una richiesta comeGet
. 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
UpdateJobExecution
. -
Esegui una query sullo stato dell'esecuzione di un processo chiamando l'API
DescribeJobExecution
. -
Recupera un elenco delle esecuzioni del processo in sospeso chiamando l'API
GetPendingJobExecutions
. -
Recupera l'esecuzione del processo in sospeso successiva chiamando l'API
DescribeJobExecution
conjobId
come$next
. -
Ottieni e avvia l'esecuzione del processo in sospeso successiva chiamando l'API
StartNextPendingJobExecution
.
I dispositivi possono comunicare con AWS IoT Jobs utilizzando la versione 4 della firma HTTP sulla porta 443. Questo è il metodo usato dagli SDK AWS e da CLI. Per ulteriori informazioni su questi strumenti, consulta AWS CLI Command Reference: iot-jobs-data o AWS SDK e strumenti
Con questo metodo di comunicazione, il dispositivo utilizza le credenziali IAM per l'autenticazione con Jobs. AWS IoT
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 ...
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
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/
(oMyThing
/jobs/notify$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 per AWS 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