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 endpoint-url parametro 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 x-amzn-http-ca.
Se utilizzi endpoint dual-stack (IPv6 e IPv6), usa l'endpoint. iot:Data-ATS iot:JobsL'endpoint supporta solo IPv4.
Tipi di dati di gestione e controllo dei processi
I seguenti tipi di dati vengono utilizzati dalle applicazioni di gestione e controllo per comunicare con Jobs. 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, consulta 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, consulta 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, consulta 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, consulta 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, consulta 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
targetSelectionimpostato 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 job può avere un optional TimeoutConfig, 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
targetsdeve essere un elenco di ARN di oggetti o gruppi di oggetti validi. Tutte le cose e i gruppi di cose devono essere nel tuo Account AWS. -
L'argomento
documentSourcedeve 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 memorizzato nell'URL specificato dall'
documentSourceargomento deve essere un documento JSON UTF-8 codificato. -
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.
-
jobIdDeve essere unico nel tuo. 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 di lavori 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.