控制台应用程序,Windows服务或Web服务每隔5分钟从Azure SQL数据库读取数据?
我希望有一种方法可以每隔5分钟检查一次Azure数据库中的表,而无需任何条件,因此它只是一个计划任务,每5分钟运行一次,而不管任何事情。控制台应用程序,Windows服务或Web服务每隔5分钟从Azure SQL数据库读取数据?
不确定什么是我应该使用的最佳应用程序模板,我在控制台应用程序,Windows服务,Web服务或其他方面进行了选择。
请让我知道哪一个能更好地完成这项工作,并且会更容易进行安排。
最好的将是ConsoleApplication。
如果你想从你的电脑运行它,只需运行它。如果您想在Azure中运行它,请使用Azure Web Jobs。
在Azure中创建AppServie,然后选择AppService服务页面上此片,并按照指示。这些Web作业可以从Azure运行常规ConsoleApplications。应用程序可以做他们想要的任
我应该只在“发布”模式下生成项目,复制某处的.exe文件并计划任务或Azure WebJob来运行此exe文件? – GeekGirl
发布或调试,这并不重要。 Azure不知道那是什么。 exe文件和其他东西,如DLL,APP.CONFIG等将被选为部署过程的一部分。 –
如果您想在云中运行某些内容,请考虑使用Azure Logic App。您可能需要检查数据库,然后根据查询结果采取一些操作。借助Logic Apps,您可以使用设计人员实施工作流程。它需要最少的编码,因为各种连接器已经开箱即用。此外,您只需支付运行应用程序的计算时间。 如果你有一些增强的逻辑来执行,你可以考虑写一个Azure函数并从Logic App中调用它。
你说你想定期检查一个队列,并在消息存在时执行一些操作。您有2个选项
Azure function每当新消息到达队列时就会触发它。只要消息到达队列中,而不是每隔5分钟连续轮询队列并检查消息,Azure就会调用您的函数将更便宜,更容易。
Logic App描述工作流程。在这里,您可以轻松配置要轮询哪个队列,对消息执行检查,并使用现有连接器轻松访问SQL表,只要满足条件即可。
这些选项听起来很有趣,但是请问您可以告诉我使用WebJobs的好处吗? 此外,我的逻辑是每当新消息添加到队列中时,我应该启动不同的线程,每隔2分钟运行6个小时以保持在Azure SQL数据库中检查值,因此在此场景下,哪种应用程序类型将是最好的? – GeekGirl
它只是必须运行的任务每5分钟,或者它有特定端点检查后? – raichiks
这也应该在Azure SQL中工作(未经测试) - https://github.com/christiandelbianco/monitor-table-change-with-sqltabledependency。这比盲目地在数据库上打字更好。使用Azure函数或WebJobs进行工作。 – evilSnobu
其实它应该每隔5分钟检查Azure队列,不触发或停止条件,它会每5分钟检查一次队列,当有新消息时应该调用另一个方法。 – GeekGirl