Partager via


Planifier et diffuser des travaux avec Azure CLI

Utilisez Azure CLI pour planifier et suivre des travaux qui mettent à jour des millions d’appareils. Utilisez les travaux pour :

  • Mettre à jour les propriétés souhaitées
  • Mettre à jour les balises
  • Appeler des méthodes directes

Sur le plan conceptuel, un travail encapsule l’une de ces actions et suit la progression de l’exécution par rapport à un ensemble d’appareils. Une requête de jumeau d’appareil définit l’ensemble d’appareils avec lesquels un travail interagit. Par exemple, à l’aide d’un travail, une application principale peut appeler une méthode de redémarrage sur 10 000 appareils, spécifiée par une requête de représentation d’appareil et planifiée dans l’avenir. Cette application peut ensuite suivre la progression à mesure que chacun de ces appareils reçoit et exécute la méthode de redémarrage.

Pour en savoir plus sur la façon dont les travaux aident à gérer les opérations de gestion des appareils en bloc, consultez Planifier des travaux sur plusieurs appareils.

Remarque

Les fonctionnalités décrites dans cet article sont uniquement disponibles au niveau Standard d’IoT Hub. Pour plus d’informations sur les niveaux de base et standard/gratuit d’IoT Hub, consultez Choisir le niveau IoT Hub correspondant à votre solution.

Prérequis

  • Azure CLI. Vous pouvez également exécuter toutes les commandes dans ce démarrage rapide à l’aide d’Azure Cloud Shell, un interpréteur de commandes CLI interactif qui s’exécute dans votre navigateur ou dans une application telle que Terminal Windows. Si vous utilisez Cloud Shell, vous n’avez rien à installer. Si vous préférez utiliser l’interface de ligne de commande en local, cet article nécessite Azure CLI version 2.36 ou ultérieure. Pour trouver la version installée, exécutez az --version. Pour installer ou mettre à niveau localement Azure CLI, consultez Installer Azure CLI.

  • Un hub IoT dans votre abonnement Azure. Si vous n’avez pas encore de hub, vous pouvez suivre les étapes décrites dans Créer un hub IoT.

Planifier un travail pour appeler une méthode directe

Vous pouvez utiliser des travaux pour appeler une méthode directe sur un ou plusieurs appareils.

Utilisez la commande az iot hub job create, en remplaçant les espaces réservés suivants par leurs valeurs correspondantes. La commande planifie un travail qui appelle un nom de méthode sur les appareils cibles.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Paramètre substituable Valeur
{HubName} Nom de votre IoT Hub.
{JobName} Nom de votre travail planifié. Les noms de travaux étant uniques, choisissez un nom de travail différent chaque fois que vous exécutez cette commande.
{MethodName} Nom de votre méthode directe.
{MethodPayload} Une charge utile à fournir à la méthode directe. Si aucune charge utile n’est requise, utilisez null.
{DeviceQuery} Une requête qui définit le ou les appareils à cibler avec le travail. Par exemple, un travail pour un seul appareil pourrait utiliser la condition de requête suivante : deviceId = 'myExampleDevice'.

Conseil

Lors de la planification d’une commande az iot hub job create qui appelle une méthode directe, vous devez spécifier des valeurs pour les deux paramètres facultatifs, --method-name et --method-payload. Pour les méthodes directes qui n’acceptent pas de charge utile, spécifiez null pour le paramètre --method-payload.

Planifier un travail pour mettre à jour les propriétés d’un jumeau d’appareil

Vous pouvez utiliser des travaux pour mettre à jour une propriété spécifique d’un jumeau d’appareil.

Utilisez la commande az iot hub job create, en remplaçant les espaces réservés suivants par leurs valeurs correspondantes. Dans cet exemple, nous prévoyons un travail pour définir la valeur de la propriété BuildingNo de jumeau souhaitée sur 45 pour notre appareil simulé.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Paramètre substituable Valeur
{HubName} Nom de votre IoT Hub.
{JobName} Nom de votre travail planifié. Les noms de travaux étant uniques, choisissez un nom de travail différent chaque fois que vous exécutez cette commande.
{JSONTwinPatch} L’extrait de code JSON que vous voulez utiliser pour mettre à jour les propriétés souhaitées du jumeau d’appareil. Par exemple : {"properties":{"desired": {"BuildingNo": 45}}}.
{DeviceQuery} Une requête qui définit le ou les appareils à cibler avec le travail. Par exemple, un travail pour un seul appareil pourrait utiliser la condition de requête suivante : deviceId = 'myExampleDevice'.

Découvrez comment implémenter des travaux par programmation en utilisant les Kits de développement logiciel (SDK) Azure IoT : Planifier et diffuser des travaux.