从网站同时触发多个功能

时间:2018-05-20 20:55:01

标签: .net azure azure-functions

我有一个非常简单的应用程序。

用户上传照片,然后照片会获得各种影响,例如'模糊'或者' sepia'。

图像滤镜的处理在天蓝色函数中完成。所以你通过了#guid'将图像与天蓝色功能一起使用,然后天蓝色功能处理它并创建照片并放入天蓝色存储。

我有多个图片过滤器。

是否可以从我的网站上为每个过滤器同时对azure功能提出多个请求?还是有另一种方式。

注意:我不想使用blobstorage触发器,因为它们可能有几分钟的延迟。这就是我在微软官方文档中读到的内容。

我认为在网络服务器上制作100个并行的http请求可能有点过分。触发100并行函数执行的替代方法是什么。

1 个答案:

答案 0 :(得分:0)

您可以继续使用HTTP执行此任务,并向Azure功能发出100个并行请求。让这个工作100%可靠可能是一个挑战,但是,如果某些响应是非成功状态代码,请确保至少重试。

更自然的方式是重构事件驱动的函数。

一个选项可以是Reacting to Blob storage events中描述的Azure Event Grid。事件网格很快,但我找不到任何有关Blob事件保证延迟的参考。在这种情况下,您似乎也可能需要100个函数,这听起来很麻烦。

最后,您只需向存储队列或服务总线队列发送100条消息,说明需要处理哪个blob以及消息有效负载内的哪个转换。函数运行时将根据队列统计信息进行扩展和并行执行。