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

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/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-nameEcco il nome di una richiesta come Get e l'argomento può essere:. $aws/things/myThing/jobs/get AWS IoT Jobs pubblica quindi messaggi di successo sull'$aws/things/myThing/jobs/get/acceptedargomento.

  • $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/rejectedargomento.

È inoltre possibile utilizzare le seguenti operazioni API HTTPS:

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 e consulta la IotJobsDataPlane sezione relativa alla lingua preferita.

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