1

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

问题是:存储过程大约需要 20 - 25 分钟才能完成。存储过程有几个任务,包括调用其中的多个存储过程以将数据从 Azure 数据湖移动到 SQL 数据仓库。当存储过程耗时超过 20 分钟时,不会记录函数应用的执行。

为了更好地解释,如果我转到函数应用程序的监控页面,有些天日志会丢失。因此很难判断函数应用程序是成功运行还是失败。

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

我试图研究 Azure 中的 Durable Functions,但需要一些专家就如何使用它提供建议。

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

请指教。

4

2 回答 2

1

我认为您正在寻找的解决方案是 Durable Azure 功能

Azure 函数链接模式 扇出扇入 https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview

于 2019-02-05T13:53:03.693 回答
0

在我的脑海中,有两个快速选择:

  1. Azure 数据工厂
    就我而言,迄今为止最好的解决方案。这项服务感觉就像手套一样适合您的场景。

  2. 有一个函数来运行一个 SP
    简而言之:用计时器触发函数 1,运行第一个存储过程,并在 SP 完成后立即将消息放入队列。队列上的消息触发下一个函数执行下一个 SP。一直到你所有的SP都完成了。

于 2019-02-04T20:41:19.407 回答