我在Azure表存储中有100行。但是稍后,我可以添加更多行或在表中的任何行上设置“禁用”属性。
我有一个Azure函数-“ XProcessor”。我想拥有一个Azure函数“ HostFunction”,它将为Azure表存储中的每一行启动一个“ XProcessor”的新实例。
“ HostFunction”应该能够将表行的详细信息传递给“ XProcessor”的实例,并且“ HostFunction”需要每分钟执行一次。
我该如何实现?我正在研究Azure Logic应用程序,但不确定如何使用细节来编排“ XProcessor”。
答案 0 :(得分:0)
我希望结合使用“耐用功能”技术。
永恒的编排-将使您能够运行流程,完成后等待一段时间,然后再次运行。
From the docs:永恒的编排是永远不会结束的编排器功能。当您要对聚合器使用持久功能以及需要无限循环的任何情况时,它们很有用。
扇入扇出-将允许您每行调用一个单独的函数。
From the docs:扇出/扇入是指并行执行多个功能,然后等待所有功能完成的模式。通常,对从函数返回的结果进行一些汇总工作。
使用持久功能会增加一些额外的开销,但它可以使您对执行进行细粒度的控制。请记住,每次等待调用时,对象的状态都会在持久函数中序列化,因此成千上万的行可能会成为问题,但是对于您所描述的情况,它会很好地工作,并且我在其中取得了很多成功。
祝你好运!
答案 1 :(得分:0)
耐用功能是您此处的转到选项。你能做的是 1)具有称为协调功能的控制器功能 2)另一个业务流程可以多次调用的子函数 在您的协调功能中,您要等到所有子实例都将响应返回给您,这样您才能在方案中获得扇出。
看看以下链接 https://blog.mexia.com.au/tag/azure-durable-functions和https://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-overview