Поделиться через


Планирование и трансляция заданий с помощью Azure CLI

Используйте Azure CLI для планирования и отслеживания заданий, обновляющих миллионы устройств. Что можно сделать с помощью заданий?

  • Обновление требуемых свойств
  • Обновление тегов
  • Вызов прямых методов

Концептуально задание упаковывает одно из этих действий и отслеживает ход выполнения для набора устройств. Запрос двойника устройства определяет набор устройств, с которым взаимодействует задание. Например, с помощью задания внутреннее приложение может вызывать метод перезагрузки на 10 000 устройств, определенных запросом двойника устройства и запланированных в будущем. Затем это приложение может отследить ход выполнения задания по мере получения и выполнения метода перезагрузки на каждом из этих устройств.

Дополнительные сведения о том, как задания помогают управлять операциями управления массовыми устройствами, см. в статье "Планирование заданий на нескольких устройствах".

Примечание.

Функции, описанные в этой статье, доступны только на стандартном уровне Центра Интернета вещей. Дополнительные сведения о базовых и бесплатных уровнях Центр Интернета вещей см. в разделе "Выбор подходящего уровня Центр Интернета вещей" для решения.

Необходимые компоненты

  • Azure CLI. Вы также можете выполнить команды в этой статье с помощью Azure Cloud Shell, интерактивной оболочки CLI, которая выполняется в браузере или в приложении, например Терминал Windows. При использовании Cloud Shell вам не нужно ничего устанавливать. Если вы предпочитаете использовать интерфейс командной строки локально, для этой статьи требуется Azure CLI версии 2.36 или более поздней. Выполните командлет az --version, чтобы узнать установленную версию. Сведения о локальной установке или обновлении Azure CLI см. в статье "Установка Azure CLI".

  • Центр Интернета вещей в подписке Azure. Если у вас еще нет центра, выполните действия, описанные в разделе Создание центра Интернета вещей.

Планирование задания для вызова прямого метода

Задания можно использовать для вызова прямого метода на одном или нескольких устройствах.

Используйте команду az iot hub job create, заменив следующие заполнители соответствующими значениями. Команда планирует задание, которое вызывает имя метода на целевых устройствах.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Заполнитель Значение
{HubName} Имя центра Интернета вещей.
{JobName} Имя запланированного задания. Имена заданий уникальны, поэтому каждый раз при выполнении этой команды выберите другое имя задания.
{MethodName} Имя прямого метода.
{MethodPayload} Любые полезные данные, предоставляемые прямому методу. Если полезные данные не требуются, используйте null.
{DeviceQuery} Запрос, определяющий устройство или устройства, предназначенные для задания. Например, одно задание устройства может использовать следующее условие запроса: deviceId = 'myExampleDevice'

Совет

При планировании задания az iot hub job create command, которая вызывает прямой метод, необходимо указать значения для обоих --method-name и --method-payload необязательных параметров. Для прямых методов, которые не принимают полезные данные, укажите null для --method-payload параметра.

Планирование задания для обновления свойств двойника устройства

Задания можно использовать для обновления требуемого свойства двойника устройства.

Используйте команду az iot hub job create, заменив следующие заполнители соответствующими значениями. В этом примере мы планируем задание, чтобы задать значение требуемого свойства BuildingNo двойника 45 для имитированного устройства.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Заполнитель Значение
{HubName} Имя центра Интернета вещей.
{JobName} Имя запланированного задания. Имена заданий уникальны, поэтому каждый раз при выполнении этой команды выберите другое имя задания.
{JSONTwinPatch} Фрагмент JSON, который вы хотите использовать для обновления нужных свойств двойника устройства. Например, {"properties":{"desired": {"BuildingNo": 45}}}.
{DeviceQuery} Запрос, определяющий устройство или устройства, предназначенные для задания. Например, одно задание устройства может использовать следующее условие запроса: deviceId = 'myExampleDevice'

Узнайте, как программно реализовать задания с помощью пакетов SDK Для Интернета вещей Azure: планирование и трансляция заданий.