Pour envoyer simultanément des messages via un sujet personnalisé à plusieurs appareils, utilisez la fonctionnalité de diffusion groupée d'IoT Platform. Cette rubrique décrit la création de la tâche, les sujets d'opération et leurs formats de données, ainsi que les procédures de suivi de l'état de la tâche.
Prérequis
Vous avez ajouté un sujet personnalisé avec les autorisations Subscribe ou Subscribe And Publish pour l'appareil sur IoT Platform. Pour plus d'informations, consultez la section Utilisation de la communication par sujet personnalisé.
Vous vous êtes correctement abonné au sujet personnalisé sur l'appareil et ne vous êtes pas désabonné. Pour plus d'informations, consultez la section Abonnement à un sujet avec le SDK Link.
Processus de gestion des tâches
-
Créez une tâche de service Pub.
Dans la console IoT Platform, accédez à votre instance. Dans le volet de navigation de gauche, sélectionnez . Sur la page Tasks, cliquez sur Create Task.
-
Sur la page Create Task, cliquez sur l'icône d'aide
située à côté des noms de paramètres, configurez la tâche et le job selon les instructions, puis sélectionnez Complete.-
Configuration de la tâche
Parameter
Description
Task Name
Saisissez un nom de tâche valide.
Task Type
Choisissez le type : Pub Batch Message Push Task.
Task Description
Fournissez des détails tels que l'objectif de la tâche pour faciliter son identification.
Destination Device, Product, or Group
Sélectionnez les appareils cibles pour la tâche. Vous pouvez les sélectionner par appareil, produit ou groupe.Important Si vous sélectionnez des appareils par groupe, vous ne pouvez pas sélectionner un groupe dynamique.Task Execution Rules for Devices
Importez un fichier de règles au format
.json, en veillant à ce que la taille du fichier ne dépasse pas 64 Ko.Cliquez sur Download Template pour obtenir un modèle de fichier de règles.
Par exemple, pour plusieurs appareils, le sujet personnalisé est :
/${productKey}/${deviceName}/user/get. Voici un extrait de code :{ "topicShortName": "get", "messageContent": "eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==" }topicShortName : définit le sujet personnalisé complet :
/${productKey}/${deviceName}/user/${topicShortName}. Par exemple, la valeur de/${productKey}/${deviceName}/user/getpour le paramètre topicShortName du sujet estget.messageContent : corps du message à envoyer, qui doit être converti en données binaires et encodé en Base64.
-
Configuration du job
Parameter
Description
Job Execution Push Configuration
Ajustez le nombre de jobs diffusés par minute en fonction de vos besoins métier.
Définissez le paramètre Number Of Jobs Executed Per Minute selon vos besoins opérationnels.
Choisissez le Push Message Type pour les tâches personnalisées et les tâches de diffusion groupée de messages Pub.
Les options disponibles sont les suivantes :
QoS0 : délivre le message au plus une fois.
QoS1 : garantit la livraison au moins une fois. Si aucune réponse PUBACK n'est reçue après l'envoi d'un message QoS 1, le message est renvoyé à l'appareil lors de sa reconnexion à IoT Platform.
Job Execution Timeout Configuration
Ce paramètre facultatif vous permet de définir un délai d'expiration pour les tâches d'appareil. S'il n'est pas défini, les tâches n'expireront pas. Cette option s'applique uniquement aux tâches personnalisées.
Le minuteur démarre lorsque la tâche de l'appareil passe à l'état IN_PROGRESS. Si la tâche dépasse le délai d'expiration défini sans être terminée, l'état du job passe à TIMED_OUT et l'exécution du job s'arrête.
-
-
Une fois la tâche créée, IoT Platform distribue les messages à plusieurs appareils à l'aide de l'API Pub, ce qui invite les appareils à renvoyer les résultats de la réponse à IoT Platform.
Le sujet de message personnalisé suit le modèle
/${productKey}/${deviceName}/user/${TopicShortName}, avec un format de données défini par l'utilisateur. -
Sur la page de votre instance, consultez les tâches créées et leur état actuel.
ImportantUne tâche dont l'état est
timed out
ne peut pas être planifiée à nouveau pour exécution.
Le minuteur démarre à la création de la tâche. Si toutes les sous-tâches ne sont pas terminées dans un délai de sept jours, l'état de la tâche passe à timed out.
Vous pouvez effectuer les opérations suivantes :
Annulez une tâche dont l'état est processing.
-
Cliquez sur View à côté d'une tâche pour ouvrir sa page de détails, où vous pouvez consulter les informations sur la tâche et les statistiques d'exécution des sous-tâches.
Onglet Description Task Information Vous pouvez afficher les informations sur la tâche, modifier la description de la tâche et la configuration des sous-tâches, et télécharger le fichier de tâche de l'appareil. Task Summary Vous pouvez consulter les statistiques sur les sous-tâches regroupées par état. -
Cliquez sur View à côté d'un appareil pour accéder à sa page Device Details :
- Dans l'onglet Task, affichez la liste de toutes les tâches pour l'appareil.
- Dans l'onglet Device Log, cliquez sur Go to View. Dans l'onglet cloud run log, sélectionnez cloud-to-device message dans la liste déroulante workload type pour afficher les journaux des tâches de l'appareil.
- Si une sous-tâche a échoué, cliquez sur Execution Details pour afficher la cause de l'échec.
- Si une sous-tâche est dans l'état timed out ou failed, cliquez sur le bouton d'état correspondant pour afficher la liste des sous-tâches dans cet état.
Cliquez sur Rerun au-dessus de la liste pour réexécuter toutes les sous-tâches ayant expiré ou échoué pour la tâche actuelle.
-
Cliquez sur View à côté d'un appareil pour accéder à sa page Device Details :
-
Cliquez sur Delete à côté de la tâche cible, puis cliquez sur OK.
AvertissementAprès la suppression d'une tâche d'appareil, toutes les données associées sont effacées. Si des services dépendent de cette tâche, ils peuvent devenir indisponibles ou votre activité peut être impactée. Procédez avec prudence.