如何嵌套Azure功能应用程序(如何调用另一个功能应用程序)

时间:2019-02-04 20:33:55

标签: azure azure-functions azure-sql-data-warehouse

因此,我有一个带有计时器触发器的Azure功能应用程序。它每天早上4点运行。它所做的只是从Azure数据仓库中执行SQL存储过程。

问题是:存储过程需要将近20-25分钟才能完成。存储过程具有多项任务,其中包括调用其中的多个存储过程以将数据从Azure数据湖移至SQL数据仓库。当存储过程花费20分钟以上时,不会记录功能应用程序的执行。

为了更好地说明,如果我转到功能应用程序的监视器页面,则有时日志会丢失。因此很难判断功能应用程序是成功运行还是失败。

为避免这种情况,我们计划拆分存储过程任务,但是这里的问题是,父过程中的每个存储过程都依赖于序列。该序列非常重要,因为基础数据中存在数据依赖性。

我试图研究Azure中的持久功能,但需要一些专家就如何利用它提供建议。

所以,我可以创建一个新的函数应用程序,并在父函数应用程序或其中的存储过程完成后触发该触发器吗?

请咨询。

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找的解决方案将是耐用的Azure函数

Azure Function chaining pattern Fan out Fan In https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview

答案 1 :(得分:0)

头顶上方有两个快速选择:

  1. enter image description here
    就我而言,到目前为止,最好的解决方案是。这项服务就像手套一样适合您的情况。

  2. 具有一个功能来运行一个SP
    简而言之:使用计时器触发功能1,运行第一个存储过程,并在SP完成后立即将消息放入队列中。队列Azure Data Factory上的消息将执行下一个SP。一路直到所有SP都完成。