【问题标题】:Azure BlobTrigger Functions on Storage Account存储帐户上的 Azure BlobTrigger 函数
【发布时间】:2017-09-06 13:22:25
【问题描述】:

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

现在这似乎工作得很好。但是 BlobTrigger 仅适用于一个容器。创建一个触发器 pr 容器似乎是个坏主意(我会复制很多代码)。

有什么办法可以简化吗?想法受到赞赏。

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

【问题讨论】:

    标签: blob azure-blob-storage


    【解决方案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

    【讨论】:

    • 我是否需要将其实现为 Azure WebJob?似乎无法将其放入 Azure Functions(当您在绑定中设置容器值时)
    • 是的,您可以将其实现为 WebJob,我们可以在 WebJob 中定义多个函数。
    猜你喜欢
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 2020-10-04
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    相关资源
    最近更新 更多