我需要创建单个 azure 函数来监听多个 blob 容器。是否可以?
最佳答案
不,每个 Azure Functions 都有恰好一个触发器。然而,还有一种替代方案。您可以通过泛型方法实现对 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 .
关于azure - Azure函数是否可以监听多个blob以进行blob触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62267754/