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.
Implemente un agente OTA
Cuando reciba el documento de trabajo de las integraciones gestionadas, debe tener una implementación de su propio agente OTA que procese el documento de trabajo, descargue las actualizaciones y realice cualquier operación de instalación. El agente de OTA debe realizar los siguientes pasos:
-
Analice los documentos de trabajo para el firmware de Amazon S3 URLs.
-
Descargue las actualizaciones de firmware a través de HTTP.
-
Verifica las firmas digitales.
-
Instale las actualizaciones validadas.
-
Llame
iotmi\_JobsHandler\_updateJobStatusconSUCCESSnuestroFAILEDestado.
Cuando el dispositivo complete correctamente la operación OTA, debe llamar a la iotmi\_JobsHandler\_updateJobStatus API con un estado igual JobSucceeded a para informar de que el trabajo se ha realizado correctamente.
/** * @brief Enumeration of possible job statuses. */ typedef enum{ JobQueued, /** The job is in the queue, waiting to be processed. */ JobInProgress, /** The job is currently being processed. */ JobFailed, /** The job processing failed. */ JobSucceeded, /** The job processing succeeded. */ JobRejected /** The job was rejected, possibly due to an error or invalid request. */ } iotmi_JobCurrentStatus_t; /** * @brief Update the status of a job with optional status details. * * @param[in] pJobId Pointer to the job ID string. * @param[in] jobIdLength Length of the job ID string. * @param[in] status The new status of the job. * @param[in] statusDetails Pointer to a string containing additional details about the job status. * This can be a JSON-formatted string or NULL if no details are needed. * @param[in] statusDetailsLength Length of the status details string. Set to 0 if `statusDetails` is NULL. * * @return 0 on success, non-zero on failure. */ int iotmi_JobsHandler_updateJobStatus( const char * pJobId, size_t jobIdLength, iotmi_JobCurrentStatus_t status, const char * statusDetails, size_t statusDetailsLength );