Нужно сделать резервную копию шага.Что вы пытаетесь сделать с различными подпапками?Это может быть неправильным пониманием того, как происходит обмен данными с устройством в облаке и из него.
Итак, есть 3 темы MQTT, это события / config / состояние (не статус).Они НЕ отображаются в темах Pub / Sub.Каждый из них обрабатывается отдельно в IoT Core.
События - это устройство-> Облако, и они помещаются в тему публикации / подписки, которую вы указываете при создании реестра.Настройка подпапок - это разделение телеметрии с одного устройства на несколько мест для обработки.Так, например, у вас есть временные данные, которые вы хотите поместить в одну публикацию / подтему, и данные, которые вы хотите поместить в другую.Другой способ справиться с этим - прикрепить функцию к основному пабу / подтему, проанализировать телеметрию, а затем повторно выпустить сообщение паб / подпункт в разные места в зависимости от самой полезной нагрузки.
ConfigОблако-> устройство и инициируется вызовами в IoT Core Admin SDK.Если ваше устройство подписывается на тему / config / MQTT, то оно получит обратный вызов обработчика on_message клиента MQTT (точный код, конечно, зависит от используемой библиотеки), когда какой-либо внешний объект отправляет сообщение конфигурации в IoT Core для вашего устройства..
Состояние - device-> Cloud, но оно специально обрабатывается и не относится к какой-либо теме Pub / Sub.Результаты могут быть получены с помощью IoT Core Admin SDK.Это способ для устройства сообщать о своем состоянии, а затем внешним процессам / приложениям получать этот статус без необходимости обратного вызова самого устройства.Это особенно полезно, когда у вас есть устройства, которые не остаются подключенными, например, но вы все еще хотите иметь возможность выполнять действия, основанные на последнем известном состоянии.
Так что единственное, что вы можете использовать CloudФункции с является / события / тема.Для этого нужно развернуть облачную функцию и выбрать ловушку публикации Pub / Sub в качестве механизма запуска функции, а также указать тему Pub / Sub реестра IoT Core в качестве источника событий.Затем в любое время, когда ваше устройство публикует телеметрию в теме / events / MQTT, оно будет опубликовано в этой теме Pub / Sub (я знаю, что это сбивает с толку, потому что мы называем их обеими темами), и облачная функция срабатывает.
Надеемся,это проясняет, что происходит?Или я полностью пропустил вопрос?:)