Esecuzione del processo - 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à.

Esecuzione del processo

"Il dispositivo può completare l'esecuzione di un processo"

Questo test case consente di verificare se il dispositivo è in grado di ricevere aggiornamenti tramite AWS IoT Jobs e di pubblicare lo stato degli aggiornamenti eseguiti con successo. Per ulteriori informazioni su AWS IoT Jobs, consulta Jobs.

Per eseguire correttamente questo test case, ci sono due AWS argomenti riservati a cui devi assegnare il ruolo del dispositivo. Per effettuare la sottoscrizione ai messaggi relativi all'attività del processo, utilizza gli argomenti notify e notify-next. Il ruolo del dispositivo deve consentire l'azione PUBLISH per i seguenti argomenti:

  • $aws/things/thingName/jobs/jobId/get

  • $aws/things/thingName/jobs/jobId/update

Si consiglia di concedere le azioni SUBSCRIBE e RECEIVE per i seguenti argomenti:

  • $aws/things/thingName/jobs/get/accepted

  • $aws/things/thingName/jobs/jobId/get/rejected

  • $aws/things/thingName/jobs/jobId/update/accepted

  • $aws/things/thingName/jobs/jobId/update/rejected

Si consiglia di concedere l'azione SUBSCRIBE per il seguente argomento:

  • $aws/things/thingName/jobs/notify-next

Per ulteriori informazioni su questi argomenti riservati, consulta gli argomenti riservati per Jobs AWS IoT.

Al momento l'over MQTT non WebSocket è supportato.

Definizione del test case API:

Nota

EXECUTION_TIMEOUT dispone di un valore predefinito di 5 minuti. Consigliamo un valore di timeout di 3 minuti. A seconda del documento AWS IoT Job o della fonte forniti, modifica il valore di timeout (ad esempio, se l'esecuzione di un lavoro richiederà molto tempo, definisci un valore di timeout più lungo per il test case). Per eseguire il test, è necessario un documento AWS IoT Job valido o un ID lavoro già esistente. Un documento AWS IoT Job può essere fornito come documento JSON o collegamento S3. Se viene fornito un documento di lavoro, fornire un ID di lavoro è facoltativo. Se viene fornito un Job ID, Device Advisor utilizzerà tale ID durante la creazione del AWS IoT Job per conto dell'utente. Se il documento di lavoro non viene fornito, puoi fornire un ID esistente che si trova nella stessa regione in cui stai eseguendo il test case. In questo caso, Device Advisor utilizzerà quel AWS IoT Job durante l'esecuzione del test case.

"tests": [ { "name":"my_job_execution", "configuration": { // optional: // Test case will create a job task by using either JOB_DOCUMENT or JOB_DOCUMENT_SOURCE. // If you manage the job task on your own, leave it empty and provide the JOB_JOBID (self-managed job task). // JOB_DOCUMENT is a JSON formatted string "JOB_DOCUMENT": "{ \"operation\":\"reboot\", \"files\" : { \"fileName\" : \"install.py\", \"url\" : \"${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket-name/key}\" } }", // JOB_DOCUMENT_SOURCE is an S3 link to the job document. It will be used only if JOB_DOCUMENT is not provided. "JOB_DOCUMENT_SOURCE": "https://s3.amazonaws.com/bucket-name/key", // JOB_JOBID is mandatory, only if neither document nor document source is provided. (Test case needs to know the self-managed job task id). "JOB_JOBID": "String", // JOB_PRESIGN_ROLE_ARN is used for the presign Url, which will replace the placeholder in the JOB_DOCUMENT field "JOB_PRESIGN_ROLE_ARN": "String", // Presigned Url expiration time. It must be between 60 and 3600 seconds, with the default value being 3600. "JOB_PRESIGN_EXPIRES_IN_SEC": "Long" "EXECUTION_TIMEOUT": "300", // in seconds }, "test": { "id": "Job_Execution", "version": "0.0.0" } } ]

Per ulteriori informazioni sulla creazione e sull'utilizzo di documenti del processo, consulta documento del processo.