Цены на Google Cloud IoT Core и Pubsub?

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


person Hsn    schedule 10.02.2020    source источник


Ответы (1)


Вы смешиваете разные вещи. Существует Cloud IoT, где у вас есть реестр устройств с метаданными, конфигурацией и состояниями. У вас также есть тема PubSub, в которой вы можете опубликовать сообщение о полезной нагрузке IoT, которое может содержать данные конфигурации (я предполагаю, что это то, что вы имеете в виду в этом предложении: «он публикует эти данные в теме конфигурации»).

В окончательном виде это просто.

  • Все операции управления в Cloud IoT бесплатны (регистрация устройства, настройка, метаданные и т. Д.). Нет никаких ограничений и ограничений по продолжительности. Единственный, который существует в квотах для ограничения скорости и размера конфигурации.
  • Входящий и исходящий трафик с и на устройства IoT оплачивается согласно описанной здесь
  • Если вы используете PubSub для отправки сообщений, облачных функций (или Cloud Run или другого варианта вычислений), базы данных (Cloud SQL или Datastore / Firestore), все эти услуги оплачиваются как обычно, они не связаны с сервисом Cloud IoT и биллинг. Ограничения каждой службы применяются как обычное использование. Например, сообщение PubSub действует до 7 дней (по умолчанию) в подписке и до тех пор, пока оно не будет подтверждено.

ИЗМЕНИТЬ

Хорошо, я понял, мне потребовалось время, чтобы понять, чего вы хотите достичь.

Состояние предназначено для получения внутреннего представления устройств, но текущее ограничение не позволяет вам автоматически обновлять его при получении сообщения.

У вас есть 2 решения:

  • Либо вы можете обновить свои устройства и отправить сообщение об обновлении только при изменении его состояния (функция предназначена именно для такого рода использования!)
  • Или пусть устройство публиковало сообщения каждые 3 секунды, но в теме PubSub. Получить события в функции, которая получает список состояний, получите первый (самый последний) и сравните значение с сообщением PubSub. Если другое, обновите состояние. Этот рабочий процесс также работает с внешней базой данных, такой как Datastore или Firestore.
person guillaume blaquiere    schedule 10.02.2020
comment
Да, я говорю о конфигурации и состояниях Cloud IoT. Когда мы устанавливаем конфигурацию, она публикует ее в теме pubsub «/ devices / DEVICE_ID / config», а устройство публикует свое состояние в «/ devices / DEVICE_ID / state». Теперь мой вопрос в том, когда я устанавливаю конфигурацию, будет ли она сохранена там навсегда, пока я его не обновлю или не удалю? и стоит ли это чего-нибудь, так как он хранится в ядре IoT? ... а второй касается состояния, когда я публикую свое состояние каждые 3 секунды в теме '/ devices / DEVICE_ID / state' .. тогда это будет нормально Стоимость pubsub, которую мы обычно платим за публикацию данных по теме pubsub? - person Hsn; 10.02.2020
comment
и в нем говорится: Обновления состояния для каждого проекта составляют 6000 в минуту * в предоставленной вами ссылке, так что это означает, что если у меня есть 1000 устройств, и я обновляю состояния каждые 3 секунды, и, поскольку это намного больше, чем 6000 в минуту, я бы не был может использовать государственную тему для публикации данных над ней? - person Hsn; 10.02.2020
comment
Неужели состояние меняется каждые 3 секунды? Или вы получаете сообщение каждые 3 секунды с тем же состоянием, что и раньше? - person guillaume blaquiere; 10.02.2020
comment
Что касается вашего первого комментария, вы оплачиваете пропускную способность Cloud IoT и сообщений PubSub (и, например, облачную функцию, которая будет использовать сообщение PubSub). Вы не платите за состояние и конфигурацию хранилища в Cloud IOT, а также за регистрацию / управление устройством. Данные устройства (состояние, конфигурация, метаданные) хранятся без ограничений. - person guillaume blaquiere; 10.02.2020
comment
То же сообщение приходит через 3 секунды, то есть {ts: 15814060872, status: online} - person Hsn; 11.02.2020
comment
и если то же сообщение может быть отправлено без ограничений, мы также можем исключить временную метку и просто оставить его с {status: online} - person Hsn; 11.02.2020
comment
Прямо сейчас мы не обновляем состояние устройства, поэтому я хотел использовать это состояние как статус для устройств. - person Hsn; 11.02.2020
comment
Я отредактировал свой ответ, надеюсь, что это решит ваш текущий вариант использования - person guillaume blaquiere; 11.02.2020