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à.
Tipi di dati e API di gestione e controllo dei processi
Per la gestione e il controllo delle applicazioni su CLI e tramite il protocollo HTTPS sono disponibili i comandi seguenti.
Per determinare il parametro endpoint-url
per i comandi CLI, esegui questo comando.
aws iot describe-endpoint --endpoint-type=iot:Jobs
Questo comando restituisce il seguente output.
{ "endpointAddress": "
account-specific-prefix
.jobs.iot.aws-region
.amazonaws.com" }
Nota
L'endpoint di Jobs non supporta ALPN z-amzn-http-ca
.
Tipi di dati di gestione e controllo dei processi
I tipi di dati seguenti vengono usati dalle applicazioni di gestione e controllo per comunicare con i processi di AWS IoT.
L'oggetto Job
contiene i dettagli di un processo. L'esempio seguente mostra la sintassi:
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED", "forceCanceled": boolean, "targetSelection": "CONTINUOUS|SNAPSHOT", "comment": "string", "targets": ["string"], "description": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp, "jobProcessDetails": { "processingTargets": ["string"], "numberOfCanceledThings": long, "numberOfSucceededThings": long, "numberOfFailedThings": long, "numberOfRejectedThings": long, "numberOfQueuedThings": long, "numberOfInProgressThings": long, "numberOfRemovedThings": long, "numberOfTimedOutThings": long }, "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": integer, "incrementFactor": integer, "rateIncreaseCriteria": { "numberOfNotifiedThings": integer, // Set one or the other "numberOfSucceededThings": integer // of these two values. }, "maximumPerMinute": integer } }, "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": integer, "thresholdPercentage": integer } ] }, "SchedulingConfig": { "startTime": string "endTime": string "timeZone": string "endTimeBehavior": string }, "timeoutConfig": { "inProgressTimeoutInMinutes": long } }
L'oggetto JobSummary
contiene il riepilogo di un processo. L'esempio seguente mostra la sintassi:
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED|SCHEDULED", "targetSelection": "CONTINUOUS|SNAPSHOT", "thingGroupId": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp }
Per ulteriori informazioni, consultare JobSummary
o job-summary
.
L'oggetto JobExecution
rappresenta l'esecuzione di un processo in un dispositivo. L'esempio seguente mostra la sintassi:
Nota
Quando si utilizzano le operazioni API del piano di controllo (control-plane), il tipo di dati JobExecution
non contiene un campo JobDocument
. Per ottenere queste informazioni, puoi utilizzare l'operazione API GetJobDocument
o il comando della CLI get-job-document
.
{ "approximateSecondsBeforeTimedOut": 50, "executionNumber": 1234567890, "forceCanceled": true|false, "jobId": "string", "lastUpdatedAt": timestamp, "queuedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED", "forceCanceled": boolean, "statusDetails": { "detailsMap": { "string": "string" ... }, "status": "string" }, "thingArn": "string", "versionNumber": 123 }
Per ulteriori informazioni, consultare JobExecution
o job-execution
.
L'oggetto JobExecutionSummary
contiene le informazioni di riepilogo sull'esecuzione del processo. L'esempio seguente mostra la sintassi:
{ "executionNumber": 1234567890, "queuedAt": timestamp, "lastUpdatedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED" }
Per ulteriori informazioni, consultare JobExecutionSummary
o job-execution-summary
.
L'oggetto JobExecutionSummaryForJob
contiene un riepilogo delle informazioni sulle esecuzioni di un determinato processo. L'esempio seguente mostra la sintassi:
{ "executionSummaries": [ { "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyThing", "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 } }, ... ] }
Per ulteriori informazioni, consultare JobExecutionSummaryForJob
o job-execution-summary-for-job
.
L'oggetto JobExecutionSummaryForThing
contiene un riepilogo delle informazioni sull'esecuzione di un processo in un oggetto specifico. L'esempio seguente mostra la sintassi:
{ "executionSummaries": [ { "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 }, "jobId": "MyThingJob" }, ... ] }
Per ulteriori informazioni, consultare JobExecutionSummaryForThing
o job-execution-summary-for-thing
.
Operazioni API di gestione e controllo dei processi
Utilizza le seguenti operazioni API o comandi CLI:
Associa un gruppo a un processo continuo. Devono essere soddisfatti i criteri seguenti:
-
Il processo deve essere stato creato con il campo
targetSelection
impostato suCONTINUOUS
. -
Lo stato del processo deve essere
IN_PROGRESS
. -
Il numero totale di target associati a un processo non deve essere superiore a 100.
Annulla un processo.
Annulla l'esecuzione di un processo su un dispositivo.
Crea un processo. È possibile fornire il documento del processo come collegamento a un file in un bucket Amazon S3 (parametro documentSource
) oppure nel corpo della richiesta (parametro document
).
Un processo può essere reso continuo impostando il parametro opzionale targetSelection
su CONTINUOUS
(quello di default è SNAPSHOT
). È possibile utilizzare un processo continuo per eseguire l'onboarding o l'aggiornamento dei dispositivi quando vengono aggiunti a un gruppo, in modo che continui a essere eseguito e venga lanciato sui nuovi dispositivi aggiunti. Ciò può verificarsi anche dopo che gli oggetti presenti nel gruppo al momento della creazione del processo hanno completato il processo.
Un processo può avere un TimeoutConfig opzionale, che imposta il valore del timer in corso. Il timer in corso non può essere aggiornato e viene applicato a tutte le esecuzioni del processo.
Negli argomenti per l'API CreateJob
vengono eseguite le convalide seguenti:
-
L'argomento
targets
deve essere un elenco di ARN di oggetti o gruppi di oggetti validi. Tutti gli oggetti e i gruppi di oggetti devono trovarsi nell’account Account AWS. -
L'argomento
documentSource
deve essere un URL Amazon S3 valido per un documento del processo. Gli URL Amazon S3 usano il formato:https://s3.amazonaws.com/
.bucketName
/objectName
-
Il documento archiviato nell'URL specificato dall'argomento
documentSource
deve essere un documento JSON con codifica UTF-8. -
Le dimensioni di un documento del processo non possono essere superiori a 32 KB, a causa dei limiti relativi alle dimensioni di un messaggio MQTT (128 KB) e della crittografia.
-
jobId
deve essere univoco nell’account Account AWS.
Elimina un processo e le relative esecuzioni.
L'eliminazione di un processo potrebbe richiedere del tempo, a seconda del numero di esecuzioni create per il processo e di altri fattori. Mentre il processo viene eliminato, lo stato del processo viene indicato come "DELETION_IN_PROGRESS". Il tentativo di eliminare o annullare un processo il cui stato è già "DELETION_IN_PROGRESS" restituirà un errore.
Elimina l'esecuzione di un processo.
Ottiene i dettagli di un'esecuzione del processo.
Ottiene i dettagli di un'esecuzione del processo. Lo stato dell'esecuzione del processo deve essere SUCCEEDED
o FAILED
.
Ottiene il documento per un processo.
Nota
Gli URL segnaposto non vengono sostituiti con URL Amazon S3 prefirmati nel documento restituito. Gli URL prefirmati vengono generati solo quando il servizio AWS IoT Jobs riceve una richiesta tramite MQTT.
Ottiene un elenco delle esecuzioni per un processo.
Ottiene un elenco delle esecuzioni di un processo per un oggetto.
Ottiene un elenco dei processi nel tuo Account AWS.
Aggiorna i campi supportati del processo specificato. I valori aggiornati per timeoutConfig
diventano effettivi solo per i nuovi avvii in corso. Attualmente, gli avvii in corso continuano a essere lanciati con la configurazione del timeout precedente.