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.
的官方信息
我们在 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.
的官方信息