我知道在Azure中安排以系统为中心的事件的许多不同方式。例如。 Azure Scheduler,Logic Apps等。它们可用于备份,发送批处理电子邮件或其他维护功能。
但是,对于与大量文档或记录相关的事件可用的技术,我不清楚。
例如,假设我在Cosmos中有100,000个文档,而这些文档中的某些datetime属性与事件有关:到期,提醒,升级,超时等。每条记录都有一组不同的日期和时间。
什么时候到达这些日期时间之一可以触发代码?
到目前为止我想到的东西:
有一个计划的任务,该任务每分钟运行一次,并在Cosmos中查找与该特定分钟相关的任何内容,然后执行“填充”。
在服务总线队列上计划任务,并在创建Cosmos记录时指定将来的日期,然后安排一些任务来接收这些消息并执行“工作”。
但是有更好的方法吗?是否有现成的Azure服务会占用很多后台基础结构工作,只让我在特定时间安排一次一次性活动并打上Webhook之类的东西?
我是否将Azure Scheduler误分类为用于一些定期计划任务的内容,而不是您在100,000个Cosmos记录中发现的混合日期和时间呢?
FWIW,在我的用例中,实际上并没有一个精确的问题-例如,安排在10:05:32发生的10:05:00发生的事情是完全可以接受的。
欣赏您的想法。
答案 0 :(得分:0)
首先,Azure Schedular将被Azure Logic应用取代:
Azure Logic Apps替代了即将停用的Azure Scheduler。要安排作业,请按照本文的说明,改为迁移到Azure Logic应用。
(source)
也就是说,Azure Logic应用程序是您的选择之一,因为您可以定义一个逻辑应用程序,该应用程序通过使用延迟活动来启动一次性作业。有关详细信息,请参见the docs。
缩放比例非常好,您可以pay for what you use (or use a fixed pricing model)。
另一种选择是使用持久性天蓝色函数,其中包含timer。一旦过去,您就可以做自己的事。您也可以使用消费计划,因此您只需为使用的商品付费,也可以使用固定的定价模式。它还可以很好地扩展,因此数百个实例不会有问题。
在两种情况下,创建Cosmos记录时都必须触发功能或逻辑应用程序。将适当的时间作为触发条件,然后就可以了。
现在,给出您的声明
我知道在Azure中安排以系统为中心的事件的许多不同方式。例如。 Azure Scheduler,Logic Apps等。它们可用于备份,发送批处理电子邮件或其他维护功能。
由您决定。您可以做任何您想做的事。您没有在问题中指定在达到预定时间时需要完成哪些工作,但我怀疑这是您无法使用这些服务来完成的事情。