【问题标题】:Can an executable be run as a part of a blob-triggered Azure Function?可执行文件可以作为 blob 触发的 Azure 函数的一部分运行吗?
【发布时间】:2019-05-17 03:51:33
【问题描述】:
我知道可执行文件适用于计时器触发器,但由于计时器触发器不需要并行访问可执行文件,我不确定它是否适用于 blob 触发器。假设我的队列中有 10 条消息,Azure 运行时会导致可执行文件锁定吗?或者它会在 10 个并行实例的情况下管理得很好吗?这个问题的上下文是我在 FFMPeg 实用程序周围使用的包装库 (NReco)。在我的 Azure 函数执行期间需要 FFMPeg 的二进制文件。
【问题讨论】:
标签:
c#
azure
ffmpeg
azure-functions
nreco
【解决方案1】:
考虑到 Azure Web App 沙盒的 Win32k.sys (User32/GDI32) Restrictions,不可能在 Azure Function 后台运行一些库,如 NReco 或 ffmpeg。
Azure Function 作为一个无服务器平台,它不适合处理这些繁重且耗时长的工作。如果您必须将 Azure Function 与 ffmpeg 或 NReco 结合使用,我建议您可以尝试公开一个 API 以在 Azure VM 上触发 ffmpeg 作业,该 API 将由来自 blob 触发的 Azure Function 的 HTTP 请求调用。