情境:
我们将后端迁移到Azure,作为分配的一部分,我们必须为Android应用程序(我们也从头开发)开发推送通知。基本上,我们有一个电子传感器,它从环境中收集数据并发送(通过套接字,此刻)对我们后端的调用,后端将这些数据存储在mysql数据库中。
同样的后端还负责接收对Android应用程序的调用(此时也通过套接字)。该应用程序然后在屏幕上显示信息(以及其他功能)。
问题:
当后端从传感器接收到特定数据时(设定点将通过应用程序中的用户输入存储在数据库中),我们希望向Android应用程序发送推送通知。我们相信这可以通过触发器和推送通知中心在Azure中实现。我们无法弄清楚的部分是触发此推送事件的方式/位置。首先,我们认为定时器触发器是一种解决方案。它似乎负责这项工作,但效率不高,而且我们不知道在这个触发器函数中是否有可能(或任何好处)对db进行查询。然后,我们考虑在数据库中完成输入时实现触发器,这似乎是一个更好的解决方案。
问题:
这是正确的做法吗?它可以实现吗?我们是Azure平台的新手。
答案 0 :(得分:1)
根据您的描述,我不确定您为何找到触发器来达到您的要求。在我看来,当后端从传感器接收数据时,您可以尝试直接在后端向Android应用发送推送通知。
有关如何使用Java中的通知中心,您可以参考here。此外,Azure中还提供了其他语言SDK和Rest API,我假设您的后端位于Java平台中。
有关Azure通知中心的更多详细信息,请参阅https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-push-notification-overview。
如有任何疑虑,请随时告诉我。
答案 1 :(得分:1)
此建议是在事件中心发送推送通知,该事件中心触发执行推送的Azure功能。
Azure函数基本上是无服务器代码,它按计划运行,或由某些东西触发。触发器可以保存blob(文件),或者对事件中心上的消息作出反应,这两者都非常容易上手。如果您愿意,也可以通过设置WebHook来触发代码。
函数是用C#或JavaScript编写的,它的优点在于你基本上不必编写应用程序。代码编译并在那里运行&然后 - 功能的输入和输出也非常容易设置。