我正在创建一个物联网设备,用户可以设置一个特定的时间来触发物联网设备的动作。下午01:00,空调自动启动。我正在使用谷歌云平台。我检查了GCP中的Cron作业,它在特定的时间或指定的间隔触发特定的URL。因为我的触发时间存储在datastore中,所以我必须在每分钟后使用cron job查询数据库,在那里我可以编写逻辑,如果时间匹配就触发操作。但总会有59秒的滞后,在最坏的情况下,否则我可以在每秒后调用URL。每秒后调用一个ulr将非常昂贵,因为我需要每1秒查询一次数据库…还有其他有效的方法可以做到这一点吗?
只是为了确保我理解了,您试图避免的用例是,用户将AC设置为在1pm继续,并将其设置为13:00:01(因此他们必须等到13:01:00才能打开AC)?
假设是这样,那么,如果您使用Firebase/FireStore,您可以使用GCF(Google Cloud Function)来实际触发AC打开(例如,向设备发送一条IoT Core config消息,不确定您实际上是如何实际打开AC的)。GCF可以由每分钟触发一次的CRON作业触发,也可以让它响应Firebase中的数据库值更改(这是事件触发器之一)。
因此,用户设置AC开启的时间,这将在Firebase数据库中设置一个值,这将触发GCF检查该值,看看它是否应该打开AC。这样,您就不需要单独依赖CRON作业来打开AC,还需要一个数据更改事件来检查时间。这应该消除了59秒的等待时间在您的情况下。
上面写着“Google Cloud Messaging(GCM)是一个免费服务”,但是为了使它能够运行,我需要在Google Cloud平台中创建一个项目,这需要花钱…那怎么免费呢?还是我错过了什么?
null 我的用户应该能够创建只有计算迫害管理和计算网络管理角色的项目吗?
有没有可能重新命名一个谷歌云平台项目?如果是,怎么做? 我不需要更改项目ID或编号。但我确实想更改项目名称(人类用来标识云平台项目的名称)。 谢谢你的提示!
我将为同一个客户端主持多个应用程序。我的想法是每个应用程序的项目,这是一个好主意吗? 还是把所有应用程序分在前端和后端这样的两个项目中更好?
如何在谷歌云平台上连接mlab?我正在犯错误。 servlet java.lang.NoClassDefFoundError的未捕获异常:java.lang.Management.ManagementFactory是一个受限类。更多细节请参见Google App Engine开发人员指南。在com.google.apphosting.runtime.security.shared.stub.jav
每次我试图在谷歌云平台上启用谷歌广告API时,我都会收到以下错误: 未找到服务名称为googleads的API解决方案。古格里皮斯。通用域名格式 我在同一封电子邮件下设置了一个广告管理器帐户,并生成了一个API访问令牌。我尝试在不同的电子邮件和不同的浏览器下设置它,我甚至尝试使用隐身模式,看看这是否会根据其他线程的指令解决问题。我还为我试图访问谷歌广告api的项目创建了oAuth2凭据。 我真的只