Как удалить все устройства из Azure IoT Hub с помощью Azure CLI? - PullRequest
0 голосов
/ 12 июня 2019

У меня есть Azure IoT Hub с кучей устройств, которые генерирует тесты E2E нашей команды.Я хочу периодически очищать концентратор с помощью интерфейса командной строки Azure.

Я запускаю Azure CLI локально на Powershell , используя расширение Azure IoT .

Из моего исследования есть способ получитьсписок всех устройств в концентраторе, напечатанный на консоли в формате JSON:

az iot hub device-identity list --hub-name "test-hub"

И есть способ удалить один идентификатор устройства:

az iot hub device-identity delete --device-id "test-id" --hub-name "test-hub"

Как можноЯ удаляю все устройства в концентраторе, используя интерфейсы cli и некоторые команды powershell?

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

В дополнение к @silent концентратор IoT Azure поддерживает массовое задание Устройства экспорта / импорта , описанное в BLOB-объекте. Посмотрите на следующие ссылки:

Iot Hub Resource - устройства импорта

Пример импорта устройств - массовое удаление

По сути, вызов Export Devices создаст большой двоичный объект всех устройств, а затем обновит этот список для каждого устройства с помощью режима ImportMode.Delete , и этот двоичный объект будет готов к вызову Импорт устройств Массовая работа. В случае, когда все устройства являются хорошо известными идентификаторами устройств, шаг Export Devices можно пропустить и использовать предопределенный входной BLOB-объект.

Обратите внимание, что массовое задание является длительным фоновым процессом, поэтому мы можем использовать опрос его состояния или использование таблицы событий Azure для событий IoT Hub. Удаление 100 устройств займет около 1 минуты.

0 голосов
/ 12 июня 2019

Сегодня это кажется невозможным только с помощью одной команды. Базовый интерфейс REST (который использует cli и все остальное) также не имеет массового удаления: https://docs.microsoft.com/en-us/rest/api/iothub/service/deletedevice

Расширение IoT Github имеет несколько примеров автоматизации: https://github.com/Azure/azure-iot-cli-extension/blob/dev/docs/scenario-automation.md

Там они массово создают устройства, используя простой цикл for. Вы, вероятно, можете использовать часть этого и объединить его с командой az iot hub device-identity list

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...