存储帐户上的Azure BlobTrigger功能

时间:2017-04-11 08:55:26

标签: blob azure-storage-blobs azure-blob-storage

我有一个包含多个容器的Azure存储帐户。我正在使用BlobTrigger函数来检测新的blob。

现在这看起来很完美。但BlobTrigger仅适用于一个容器。创建一个触发器pr容器似乎是一个坏主意(我会复制很多代码)。

有没有办法简化这个?我们很感激。

PS:我知道如果容器中有10K blob或更多blobTrigger是不可靠的(但这不是我的情况)。

1 个答案:

答案 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