Guide pratique pour reprovisionner des appareils

Durant le cycle de vie d’une solution IoT, il est fréquent d’avoir à déplacer des appareils d’un hub IoT à un autre. Cette rubrique est destinée à aider les opérateurs de solution à configurer les stratégies de réapprovisionnement.

Pour une présentation plus détaillée des scénarios de réapprovisionnement, consultez Concepts du réapprovisionnement d’appareils IoT Hub.

Définir la stratégie de reprovisionnement

Les étapes suivantes configurent la stratégie de reprovisionnement pour un groupe d’inscription ou d’inscription individuel :

  1. Connectez-vous au portail Azure et accédez à votre instance du service Device Provisioning.

  2. Sélectionnez Gérer les inscriptions, puis sélectionnez les onglets Groupes d’inscriptions ou Inscriptions individuelles.

  3. Sélectionnez le nom du groupe d’inscription ou de l’inscription individuelle que vous souhaitez configurer pour la reprovisionnement.

  4. Utilisez le menu déroulant sous Stratégie de reprovisionnement pour choisir l’une des stratégies de reprovisionnement suivantes :

    • Ne reprovisionnez jamais l’appareil.

    • Reprovisionner l’appareil et rétablir l’état initial : cette stratégie prend des mesures lorsque les appareils associés à l’entrée d’inscription envoient une nouvelle demande d’approvisionnement. Selon la configuration de l’entrée d’inscription, l’appareil peut être réassigné à un autre hub IoT. Si l’appareil est déplacé vers un autre hub IoT, il est désinscrit du hub IoT initial. Les données de configuration initiale que l’instance du service Device Provisioning a reçues au moment du provisionnement de l’appareil sont transmises au nouveau hub IoT. Durant la migration, l’état de l’appareil indique Affectation.

    • Reprovisionner l’appareil et migrer l’état actuel : cette stratégie prend des mesures lorsque les appareils associés à l’entrée d’inscription envoient une nouvelle demande d’approvisionnement. Selon la configuration de l’entrée d’inscription, l’appareil peut être réassigné à un autre hub IoT. Si l’appareil est déplacé vers un autre hub IoT, il est désinscrit du hub IoT initial. Toutes les données d’état de l’appareil provenant de ce hub IoT initial sont alors migrées vers le nouveau hub IoT. Durant la migration, l’état de l’appareil indique Affectation.

  5. Sélectionnez Enregistrer pour activer le reprovisionnement de l’appareil en fonction de vos modifications.

Configurer la stratégie d’allocation de l’inscription

La stratégie d’allocation détermine comment les appareils associés à l’inscription sont alloués ou affectés à un hub IoT une fois reprovisionnés. Pour en savoir plus sur les stratégies d’allocation, consultez le Guide pratique pour utiliser des stratégies d’allocation.

Les étapes suivantes configurent la stratégie d’allocation pour l’inscription d’un appareil :

  1. Connectez-vous au portail Azure et accédez à votre instance du service Device Provisioning.

  2. Sélectionnez Gérer les inscriptions, puis sélectionnez les onglets Groupes d’inscriptions ou Inscriptions individuelles.

  3. Sélectionnez le nom du groupe d’inscription ou de l’inscription individuelle que vous souhaitez configurer pour la reprovisionnement.

  4. Dans la page détails de l’inscription, sélectionnez l’onglet Hubs IoT.

  5. Sélectionnez l’une des stratégies d’allocation suivantes :

    • Statique : cette stratégie nécessite qu’un hub IoT souhaité soit répertorié dans l’entrée d’inscription d’un appareil à provisionner. Cette stratégie vous permet de désigner un seul hub IoT auquel vous voulez attribuer les appareils.

    • Distribution uniformément pondérée : cette stratégie distribue les appareils entre les hubs IoT en fonction de la pondération d’allocation configurée sur chaque hub IoT. Les hubs IoT avec une pondération d’allocation plus élevée ont une plus grande probabilité de se voir attribuer des appareils. Si vous provisionnez des appareils sur un seul hub IoT, nous recommandons ce paramètre. Il s’agit du paramètre par défaut.

    • Latence la plus faible : cette stratégie attribue les appareils au hub IoT qui permet les communications avec la latence la plus faible entre l’appareil et IoT Hub. Cette option permet à l’appareil communiquer avec le hub IoT le plus proche de l’emplacement.

    • Personnalisé (utiliser Azure Function) : cette stratégie utilise un webhook personnalisé hébergé dans Azure Functions pour affecter des appareils à un ou plusieurs hubs IoT. Les stratégies d’allocation personnalisées vous permettent de mieux contrôler le processus d’assignation des appareils à vos hubs IoT. Pour plus d’informations, consultez Comprendre les stratégies d’allocation personnalisées.

  6. Sous Hubs IoT cibles, sélectionnez les hubs IoT liés que vous souhaitez inclure dans votre stratégie d’allocation. Si vous le souhaitez, ajoutez un nouveau hub Iot lié à l’aide du bouton Ajouter un lien vers IoT Hub .

    • Avec la stratégie d’allocation Configuration statique, sélectionnez le hub IoT auquel vous voulez affecter les appareils.

    • Avec la stratégie d’allocation Distribution uniformément pondérée, les appareils sont distribués entre les hubs IoT que vous sélectionnez en fonction de leurs pondérations d’allocation configurées.

    • Avec la stratégie d’allocation Latence la plus faible, les hubs IoT que vous sélectionnez sont inclus dans l’évaluation de la latence pour déterminer le hub IoT le plus proche pour l’attribution des appareils.

    • Avec la stratégie d’allocation Personnalisée, sélectionnez les hubs IoT que vous souhaitez évaluer pour l’attribution par votre webhook d’allocation personnalisé.

  7. Cliquez sur Enregistrer.

Envoyer une demande de provisionnement depuis l’appareil

Pour que les appareils puissent être reprovisionnés en fonction des modifications de configuration apportées dans les sections précédentes, ces appareils doivent demander un reprovisionnement.

La fréquence à laquelle un appareil envoie une demande de provisionnement varie selon le scénario. Lors de la conception de votre solution et de la définition d’une logique de reprovisionnement, plusieurs éléments sont à prendre en compte. Par exemple :

Conseil

Nous vous recommandons de ne pas provisionner à chaque redémarrage de l’appareil, car cela peut atteindre la limitation de bande passante, surtout lors du reprovisionnement de plusieurs milliers ou millions d’appareils à la fois. Vous devez plutôt tenter d’utiliser l’API de recherche de l’état d’inscription de l’appareil pour essayer de vous connecter avec ces informations à IoT Hub. En cas d’échec, essayez de procéder à un reprovisionnement, car les informations IoT Hub pourraient avoir changé. N’oubliez pas que l’interrogation de l’état d’inscription sera comptabilisée comme une nouvelle inscription d’appareil. Vous devez donc prendre en compte la limite d’inscriptions d’appareils. Envisagez également d’implémenter une logique de nouvelle tentative appropriée, telle qu’un backoff exponentiel avec randomisation, comme décrit dans les recommandations générales concernant les nouvelles tentatives. Dans certains cas, selon les fonctionnalités de l’appareil, il est possible d’enregistrer les informations IoT Hub directement sur l’appareil pour se connecter directement à IoT Hub après le provisionnement initial à l’aide de DPS. Si vous choisissez de procéder ainsi, veillez à implémenter un mécanisme de secours au cas où des erreurs spécifiques à partir du hub se produiraient. Considérez par exemple les scénarios suivants :

  • Réessayez l’opération du hub si le code de résultat est 429 (trop de requêtes) ou si vous rencontrez une erreur dans la plage 5xx. N’effectuez pas de nouvelle tentative pour toute autre erreur.
  • Pour les erreurs 429, ne réessayez qu’après l’heure indiquée dans l’en-tête Retry-after (nouvelle tentative après).
  • Pour les erreurs 5xx, utilisez le backoff exponentiel, avec la première tentative d’au moins 5 secondes après la réponse.
  • Lors d’erreurs autres que 429 et 5xx, réeffectuez l’inscription par le biais de DPS
  • Dans l’idéal, vous devez également prendre en charge une méthode pour déclencher manuellement le provisionnement à la demande.

Nous vous recommandons également de tenir compte des limites du service lors de la planification d’activités telles que l’envoi (push) de mises à jour à votre flotte. Par exemple, la mise à jour de la flotte en une seule fois peut entraîner la réinscription de tous les appareils par le biais de DPS (ce qui pourrait facilement dépasser le quota d’inscriptions). Pour de tels scénarios, envisagez de planifier les mises à jour de l’appareil en plusieurs phases, au lieu de mettre à jour l’ensemble de votre flotte en même temps.

Étapes suivantes