Operazioni API AWS IoT Jobs - 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à.

Operazioni API AWS IoT Jobs

L'API AWS IoT Jobs può essere utilizzata per una delle seguenti categorie:

  • Attività amministrative, come la gestione e il controllo dei processi. Questo è il piano di controllo.

  • Dispositivi che eseguono questi processi. Questo è il piano dati che permette di inviare e ricevere dati.

Per la gestione e il controllo dei processi viene usata un'API del protocollo HTTPS. I dispositivi possono usare un'API del protocollo MQTT o HTTPS. L'API del piano di controllo è progettata per un basso volume di chiamate, come avviene in genere quando si creano e si monitorano i processi. In genere apre una connessione per una singola richiesta e quindi chiude la connessione dopo la ricezione della risposta. L'API HTTPS e MQTT del piano dati consente il polling lungo. Queste operazioni API sono progettate per grandi quantità di traffico, che può essere dimensionato fino a milioni di dispositivi.

Ogni API HTTPS dei processi AWS IoT dispone di un comando corrispondente che permette di chiamare l'API dalla AWS Command Line Interface (AWS CLI). I comandi sono in caratteri minuscoli, con trattini tra le parole che compongono il nome dell'API. È ad esempio possibile richiamare l'API CreateJob nell'interfaccia a riga di comando digitando:

aws iot create-job ...

Se si verifica un errore durante un'operazione, viene fornita una risposta di errore contenente le informazioni sull'errore.

Contiene informazioni su un errore che si è verificato durante un'operazione del servizio AWS IoT Jobs.

L'esempio seguente mostra la sintassi di questa operazione:

{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }

Di seguito è riportata una descrizione di ErrorResponse:

code

ErrorCode può essere impostato su:

InvalidTopic

La richiesta è stata inviata a un argomento nel namespace di AWS IoT Jobs non mappato ad alcuna operazione API.

InvalidJson

Non è stato possibile interpretare i contenuti della richiesta come contenuto JSON valido con codifica UTF-8.

InvalidRequest

I contenuti della richiesta non sono validi. Ad esempio, questo codice viene restituito quando una richiesta UpdateJobExecution contiene dettagli sullo stato non validi. Il messaggio contiene dettagli sull'errore.

InvalidStateTransition

Un aggiornamento ha tentato di modificare l'esecuzione del processo in uno stato non valido a causa dello stato attuale dell'esecuzione del processo. Ad esempio, un tentativo di modificare una richiesta dallo stato SUCCEEDED a quello IN_PROGRESS. In questo caso, il corpo del messaggio di errore contiene anche il campo executionState.

ResourceNotFound

Il valore di JobExecution specificato dall'argomento della richiesta non esiste.

VersionMismatch

La versione prevista specificata nella richiesta non corrisponde alla versione dell'esecuzione del processo nel servizio AWS IoT Jobs. In questo caso, il corpo del messaggio di errore contiene anche il campo executionState.

InternalError

Si è verificato un errore interno durante l'elaborazione della richiesta.

RequestThrottled

La richiesta è stata sottoposta a throttling.

TerminalStateReached

Si verifica quando viene eseguito un comando per descrivere un processo in un processo che si trova in uno stato terminale.

message

Stringa di messaggio di errore.

clientToken

Stringa arbitraria usata per mettere in relazione una richiesta con la relativa risposta.

timestamp

Tempo, in secondi, dall'epoca (Unix epoch).

executionState

Oggetto JobExecutionState. Questo campo è incluso solo quando il campo code ha il valore InvalidStateTransition o VersionMismatch. In questi casi, non è necessario eseguire una richiesta DescribeJobExecution separata per ottenere i dati sullo stato dell'esecuzione del processo corrente.