Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Implémenter un agent OTA
Lorsque vous recevez le document de tâche provenant d'intégrations gérées, vous devez disposer d'une implémentation de votre propre agent OTA qui traite le document de travail, télécharge les mises à jour et effectue toutes les opérations d'installation. L'agent OTA doit effectuer les étapes suivantes :
-
Analysez les documents de travail pour le microprogramme Amazon S3 URLs.
-
Téléchargez les mises à jour du microprogramme via HTTP.
-
Vérifiez les signatures numériques.
-
Installez les mises à jour validées.
-
Appelez
iotmi\_JobsHandler\_updateJobStatusavecSUCCESSnotreFAILEDstatut.
Lorsque votre appareil termine avec succès l'opération OTA, il doit appeler l'iotmi\_JobsHandler\_updateJobStatusAPI avec un statut égal JobSucceeded à pour signaler une tâche réussie.
/** * @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 );