我有一个包含多个容器的Azure存储帐户。我正在使用BlobTrigger函数来检测新的blob。
现在这看起来很完美。但BlobTrigger仅适用于一个容器。创建一个触发器pr容器似乎是一个坏主意(我会复制很多代码)。
有没有办法简化这个?我们很感激。
PS:我知道如果容器中有10K blob或更多blobTrigger是不可靠的(但这不是我的情况)。
答案 0 :(得分:1)
有没有办法简化这个?我们很感激。
Azure存储blob触发器仅允许您监视一个存储容器以获取新的和更新的blob。如果要监视Azure存储帐户中的多个容器,则需要创建多个功能。
我建议您在一个方法中编写blob更改的处理逻辑,并在调用其他函数时调用此方法。
public static void ProcessBlob(string containerName, string blobName, CloudBlockBlob blob)
{
//Write your logic here
}
public static void ProcessBlobContainer1([BlobTrigger("container1/{blobName}")] CloudBlockBlob blob, string blobName)
{
ProcessBlob("container1", blobName, blob);
}
public static void ProcessBlobContainer2([BlobTrigger("container2/{blobName}")] CloudBlockBlob blob, string blobName)
{
ProcessBlob("container2", blobName, blob);
}
GitHub上存在与您的问题相关的未解决问题,希望能尽快解决。
Add ability to create blob triggers on a container names that match a pattern