Вы смешиваете разные вещи. Существует Cloud IoT, где у вас есть реестр устройств с метаданными, конфигурацией и состояниями. У вас также есть PubSub topi c, в котором вы можете опубликовать sh сообщение о полезной нагрузке IoT, которое может содержать данные конфигурации (я предполагаю, что вы подразумеваете в этом предложении: «он публикует sh эти данные в конфигурации topi * 1041» * ").
По определению все просто.
- Все операции управления в облаке IoT бесплатны (регистрация устройства, настройка, метаданные, ...). Нет ограничений и нет ограничений по продолжительности. Единственный, который существует в квотах для ограничения скорости и размера конфигурации.
- Входящий и исходящий трафик c от и до устройств IoT оплачивается как , описанный здесь
- Если вы используете PubSub для отправки ваших сообщений, облачных функций (или Cloud Run, или другого варианта вычисления), базы данных (Cloud SQL или Datastore / Firestore), все эти услуги оплачиваются как обычно , нет никакой связи с сервисом Cloud IoT и биллингом. Ограничения каждой услуги применяются как регулярное использование. Например, сообщение PubSub действует до 7 дней (по умолчанию) в подписке и до тех пор, пока оно не будет подтверждено.
РЕДАКТИРОВАТЬ
Хорошо, понял, я потратил время, чтобы понять, чего вы хотели достичь.
Состояние предназначено для получения внутреннего представления устройств, но текущее ограничение не позволяет вам обновлять это автоматически, когда вы получили сообщение.
У вас есть 2 решения:
- Либо вы можете обновить свои устройства и отправить сообщение об обновлении только при изменении его состояния (именно для этого варианта использования предназначена функция! )
- Или пусть устройство публикует сообщения каждые 3 секунды, но в событии PubSub topi c. Получить события в функции, которая получает список состояний , получить первое (самое последнее) и сравнить значение с сообщением PubSub. Если отличается, обновите состояние . Этот рабочий процесс также работает с внешней базой данных, такой как Datastore или Firestore.