Azure Web 作业 BlobTrigger - 重置 Scaninfo 以触发现有 blob 的功能

Azure Web Job BlobTrigger - Reset Scaninfo to trigger function for existing blobs

我们在 Azure 上运行的 Windows 容器 中托管 Azure Web 作业 主机容器应用服务

JobHost 使用由 BlobTrigger 触发的单个函数。举个例子:

public class MyFunc
{
    [FunctionName("MyFunc")]
    public Task Run([BlobTrigger("%BlobContainer%/{tenant}/{id}", Connection = "BlobEndPointConnectionString")]
                    Stream image,
                    int tenant,
                    int id)
    {
        // implementation
    }
}

一切正常 - 如果我将 blob 添加到特定的存储容器,函数就会执行。该函数还将在处理后删除 blob。

但是,碰巧容器被重新启动了。在这种情况下,以前添加的 blob 不再 处理(只有新的)。

有什么方法可以告诉 Web Job SDK 重置 scanInfo 以便为每个现有的 blob 调用该函数?

我试图在 SDK 中找到相关的东西 - 但没有成功。我希望我可以删除 azure-webjobs-hosts 中的 scanInfo 文件(其中包含上次扫描时间)来实现这一点。我对吗?那是合法的吗?或者您可以建议任何其他选择吗?

万一重要,我使用 HostBuilder。

据我所知,唯一的解决办法是删除 azure-webjobs-hosts 中的 scanInfo 文件(blob 收据)。是的,它是合法的,你可以找到 forcing reprocessing of a blob here.

的官方信息