如何配置一个天蓝色函数在另一个天蓝色函数执行完成之后开始执行?

时间:2020-10-21 16:49:11

标签: azure azure-functions azure-storage

我有两个Azure Function应用。第一种用C#编写,可从API请求或通过SFTP提取文件,以每个客户端检索各种文件和目录,并将文件移至Azure Blob存储。第二个应用程序是用Python编写的,并依靠计时器触发器每天提取,处理这些文件并将清理后的数据推送到Azure SQL Server。

我想实时处理这些文件,而不是依赖计时器触发器。例如,如果客户端有10个目录,每个目录中有一个文件,那么一旦从C#Azure Function中提取了所有这些文件,我便希望Python Azure Function自动提取这些文件并进行数据处理。实现这一目标的最佳方法是什么? C#应用程序是否应该发布到HTTP,然后Python应用程序使用HTTP触发器来确定何时准备好处理所有文件?我很难找到显示这种情况示例的文档。

1 个答案:

答案 0 :(得分:1)

您只需要对第二个函数使用BlobTrigger输入绑定,而不是TimerTrigger。

只要将文件/ blob添加到blob存储中的特定容器中,就可以触发函数运行。由于第一个函数将文件保存到Blob存储中,因此只需将第二个函数的Input触发器绑定更新为Blob触发器,而不是计时器触发器。这将确保第二个功能在将文件添加到Blob存储后立即运行并处理该文件。您可以使用通配符来指定使用Blob输入绑定触发时要查找的文件。示例:samples-workitems/{name},其中samples-work-items是您的容器名称,{name}是该容器中的任何文件。

有关使用BlobTriggers的有效示例,请参见:https://docs.microsoft.com/en-us/learn/modules/execute-azure-function-with-triggers/8-create-blob-trigger

相关问题