Azure函数是否可以侦听多个Blob的Blob触发器

时间:2020-06-08 17:21:19

标签: azure azure-active-directory azure-functions

我需要创建侦听多个blob容器的单个Azure函数。可能吗?

1 个答案:

答案 0 :(得分:0)

否,每个Azure功能都有恰好一个触发器。但是,还有 。您可以使用通用方法来实现对Blob的处理,可以定义几个Function并将它们全部调用通用方法。

类似(伪代码)的

[FunctionName("BlobTriggerContainer1")]
public static async Task Run([BlobTrigger("container1/{name}")]Stream fileBlob, string name)
{
    await DoTheMagicAsync(fileBlob, name);
}

[FunctionName("BlobTriggerContainer2")]
public static async Task Run([BlobTrigger("container2/{name}")]Stream fileBlob, string name)
{
    await DoTheMagicAsync(fileBlob, name);
}

private void DoTheMagicAsync(Stream stream, string name)
{
    // Do your (async) magic here
}

另一种解决方案是使用Azure事件网格。有关如何组合这些服务的更多信息,请参见Tutorial: Automate resizing uploaded images using Event Grid