Я попытался удалить устройства с помощью метода RemoveDeciceAsync через цикл после извлечения всех устройств с использованием метода GetDevicesAsync. Но этот процесс удаления иногда вызывает исключения для некоторых устройств. Обратите внимание, что исключение не всегда выбрасывается. Как я могу удалить все устройства из концентратора IoT с помощью .Net SDK? Оригинальный код для удаления устройства: Как удалить все устройства с концентратора Azure IoT с помощью C#?
ответ
Трудно помочь вам без ошибки, но вместо использования цикла с RemoveDeviceAsync SDK обеспечивает удаление пакета с принудительным удалением.
RemoveDevices2Async (IEnumerable, Boolean, CancellationToken);
https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.devices.registrymanager
Я обновил вопрос с ошибкой. Я попробую ваш подход. благодаря – user1814131
Как упомянуто @Shachar, вы должны использовать API RemoveDevices2Async. Для обеспечения доступности услуг IoT Hub дросселирует количество операций для каждого вычислительного блока. Вы можете видеть here, что операции CRUD дросселируются за пределы 100/мин. RemoveDevice s 2Async API удаляет устройства навалом и один счетчик вызовов только для одной операции.
Я бы порекомендовал, если вы отредактируете ваш вопрос, чтобы показать свой код и сообщение об ошибке – CSharpRocks
Обновлен. Можете ли вы проверить сейчас? – user1814131
@ user1814131, я не смог воспроизвести эту ошибку. Возможно ли, что у вас есть устройство, все еще подключенное к Azure IoT Hub, когда вы пытаетесь удалить их все? – Jackie