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à.
Gestione e controllo dei lavori API e tipi di dati
I seguenti comandi sono disponibili per la gestione e il controllo dei Job nel CLI e tramite il HTTPS protocollo.
Per determinare il endpoint-url
parametro per CLI i tuoi comandi, 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 Jobs non supporta ALPNx-amzn-http-ca
.
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 AWS IoT Jobs.
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 API operazioni del piano di controllo, il tipo di JobExecution
dati non contiene un JobDocument
campo. Per ottenere queste informazioni, è possibile utilizzare l'GetJobDocument
APIoperazione o il get-job-document
CLIcomando.
{ "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'JobExecutionSummaryForThing
oggetto contiene un riepilogo delle informazioni sull'esecuzione di un lavoro su un oggetto specifico. FThel'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
.
APIOperazioni di gestione e controllo del lavoro
Utilizza le seguenti API operazioni o CLI comandi:
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 lavoro può avere un valore opzionale TimeoutConfigche imposta il valore del timer in corso. Il timer in corso non può essere aggiornato e viene applicato a tutte le esecuzioni del processo.
Le seguenti convalide vengono eseguite sugli argomenti relativi a: CreateJob
API
-
L'
targets
argomento deve essere un elenco di oggetti o gruppi ARNs di oggetti validi. Tutte le cose e i gruppi di cose devono essere nel tuo Account AWS. -
L'
documentSource
argomento deve essere un documento valido da Amazon S3 URL a Job. Amazon S3 ha URLs la forma:.https://s3.amazonaws.com/
bucketName
/objectName
-
Il documento memorizzato nel campo URL specificato dall'
documentSource
argomento deve essere un documento con codifica UTF JSON -8. -
La dimensione di un documento di lavoro è limitata a 32 KB a causa del limite della dimensione di un MQTT messaggio (128 KB) e della crittografia.
-
jobId
Deve 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. Durante l'eliminazione del lavoro, lo stato del lavoro viene visualizzato come "DELETION_IN_PROGRESS». Il tentativo di eliminare o annullare un lavoro il cui stato è già "DELETION_IN_PROGRESS" genera 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
I segnaposto non URLs vengono sostituiti con Amazon S3 URLs prefirmato nel documento restituito. I prefirmati URLs vengono generati solo quando il servizio AWS IoT Jobs riceve una richiesta di invio. 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.