Google Cloud IoT Core 和 Pubsub 定价?

Posted

技术标签:

【中文标题】Google Cloud IoT Core 和 Pubsub 定价?【英文标题】:Google Cloud IoT Core and Pubsub Pricing? 【发布时间】:2020-05-25 17:44:18 【问题描述】:

我正在为我的 IoT 设备使用 google IoT 核心和 pubsub 服务。我正在使用 pubsub 将数据发布到数据库。但我认为将每个数据存储到数据库中非常昂贵。我有一些数据,比如设备是打开还是关闭,以及一个配置文件,其中包含一些我需要处理我的 IoT 有效负载的参数。现在我无法理解物联网中的配置和状态主题是否昂贵?以及数据在配置主题中存储多长时间,每当配置文件中的参数发生更改时,它是否可以将该数据发布到配置主题中?如果我每隔 3 秒或更长时间将我的设备状态(如果它在线或不在线)发布到状态主题怎么办?

【问题讨论】:

【参考方案1】:

你正在混合不同的东西。有云物联网,你有一个设备注册表,其中包含元数据、配置和状态。您还有 PubSub 主题,您可以在其中发布有关可包含配置数据的 IoT 有效负载的消息(我假设您在这句话中的意思是:“它将数据发布到配置主题中”)。

明确地说,这很简单。

Cloud IoT 上的所有管理操作都是免费的(设备注册、配置、元数据等)。没有限制,也没有持续时间限制。 quotas 中唯一存在速率限制和配置大小的。 物联网设备的入站和出站流量计费为described here 如果您使用 PubSub 推送消息、Cloud Functions(或 Cloud Run 或其他计算选项)、数据库(Cloud SQL 或 Datastore/Firestore),所有这些服务都照常计费,与 Cloud 无关物联网服务和计费。每个服务的约束被应用为常规使用。例如,一条 PubSub 消息在订阅中最多存在 7 天(默认情况下),直到它未被确认。

编辑

好的,明白了,我花了一些时间了解您想要实现的目标。

该状态旨在获取设备的内部表示,但当前的限制不允许您在收到消息时自动更新它。

您有 2 个解决方案:

您可以更新您的设备并仅在其状态发生变化时发送更新消息(该功能就是针对这种用例设计的!) 或者,让设备每 3 秒发布一次消息,但在事件 PubSub 主题中。在获取state list 的函数中获取事件,获取第一个(最近的)并将该值与 PubSub 消息进行比较。如果不同,update the state。此工作流也适用于 Datastore 或 Firestore 等外部数据库。

【讨论】:

是的,我正在谈论云物联网配置和状态。当我们设置配置时,它会将其发布到 '/devices/DEVICE_ID/config' 的 pubsub 主题,并且设备将其状态发布到 '/devices/DEVICE_ID/state'.. 现在我的问题是当我设置配置时它会存储在我更新或删除它之前永远存在?并且它存储在物联网核心中是否需要任何费用?...第二个是关于如果我每 3 秒将我的状态发布到“/devices/DEVICE_ID/state”主题的状态.. 那么这将是正常的我们通常为发布有关 pubsub 主题的数据而支付的 pubsub 成本? 并且它在您提供的链接中声明:每个项目的状态更新是每分钟 6,000 次*”,这意味着如果我有 1000 台设备并且我每 3 秒更新一次状态并且距离很远每分钟超过 6000 我将无法使用状态主题在其上发布数据? 状态真的每3秒变化一次吗?或者您是否每 3 秒收到一条消息,状态与以前大致相同? 关于您的第一条评论,您需要为 Cloud IoT 和 PubSub 消息(例如,将使用 PubSub 消息的 Cloud Function)支付带宽。您无需为 Cloud IOT 上的状态和配置存储以及设备注册/管理付费。设备数据(状态、配置、元数据)不受限制。 3 秒后出现相同的消息,即 "ts":"15814060872,"status": "online"

以上是关于Google Cloud IoT Core 和 Pubsub 定价?的主要内容,如果未能解决你的问题,请参考以下文章

D1net阅闻 | Google Cloud发布公开测试版Cloud IoT Core

如何将传感器数据(例如来自 DHT11 传感器的温度数据)发送到 Google Cloud IoT Core 并存储它

如何更改 Google IoT Core 的 MQTT 主机名

在IoT-Core上检索和编辑设备配置时的身份验证错误

Google IoT Core:我如何知道消息来自哪个设备?

使用 Google IoT Core 网关和 Pub/Sub 时 subFolder 为空