Ejecución de trabajo - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecución de trabajo

«El dispositivo puede completar la ejecución de un trabajo»

Este caso de prueba le ayuda a validar si su dispositivo puede recibir actualizaciones mediante AWS IoT Jobs y a publicar el estado de las actualizaciones correctas. Para obtener más información sobre los AWS IoT trabajos, consulte Trabajos.

Para ejecutar correctamente este caso de prueba, hay dos AWS temas reservados a los que debes asignar tu rol de dispositivo. Para suscribirse a los mensajes relacionados con la actividad de trabajos, utilice los temas notify y notify-next. Su función de dispositivo debe permitir la acción PUBLISH en los siguientes temas:

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

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

Se recomienda conceder las acciones SUBSCRIBE y RECEIVE para los siguientes temas:

  • $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

Se recomienda conceder la acción SUBSCRIBE para el siguiente tema:

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

Para obtener más información sobre estos temas reservados, consulte los temas reservados de AWS IoT Jobs.

Por el momento, no WebSocket se admite MQTT over.

Definición de caso de prueba de API:

nota

EXECUTION_TIMEOUT tiene un valor predeterminado de 5 minutos. Se recomienda un valor de tiempo de espera de 3 minutos. Según el documento de AWS IoT trabajo o la fuente proporcionados, ajuste el valor de tiempo de espera (por ejemplo, si un trabajo tardará mucho en ejecutarse, defina un valor de tiempo de espera más largo para el caso de prueba). Para ejecutar la prueba, se necesita un documento de AWS IoT trabajo válido o un identificador de trabajo ya existente. Un documento de AWS IoT trabajo se puede proporcionar como un documento JSON o un enlace S3. Si se proporciona un documento de trabajo, proporcionar un identificador de trabajo es opcional. Si se proporciona un ID de trabajo, Device Advisor utilizará ese ID al crear el AWS IoT trabajo en su nombre. Si no se proporciona el documento de trabajo, puede proporcionar un ID existente que se encuentre en la misma región en la que está ejecutando el caso de prueba. En este caso, Device Advisor utilizará ese AWS IoT Job mientras ejecuta el caso de prueba.

"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" } } ]

Para obtener más información sobre la creación y el uso de documentos de trabajo, consulte Documento de trabajo.