Google Cloud IoT Core и ценообразование Pubsub? - PullRequest
0 голосов
/ 10 февраля 2020

Я использую ядро ​​Google IoT и службы pubsub для своих устройств IoT. Я публикую данные, используя pubsub в базе данных. но я думаю, что хранить все данные в базе данных довольно дорого. У меня есть некоторые данные, например, если устройство включено или выключено, и файл конфигурации, в котором есть какой-то параметр, который мне нужен для обработки полезной нагрузки IoT. Теперь я не могу понять, дорогая конфигурация и состояние topi c в IoT или нет? и как долго данные хранятся в конфигурации topi c, и возможно ли, чтобы при изменении параметра в файле конфигурации он публиковал sh эти данные в конфигурации topi c? и что если я опубликую sh мое состояние устройства, если оно находится в сети или нет, каждые 3 секунды или более в состояние topi c?

1 Ответ

2 голосов
/ 10 февраля 2020

Вы смешиваете разные вещи. Существует 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.
...