现有文件的重播/重复/重新启动Azure BlobStorage函数触发器

问题描述 投票:0回答:3

我刚刚将数十GB的文件上传到Azure CloudStorage。每个文件都应由FunctionApp拾取并处理,以响应BlobTrigger

[FunctionName(nameof(ImportDataFile))]
public async Task ImportDataFile(
    // Raw JSON Text file containing data updates in expected schema
    [BlobTrigger("%AzureStorage:DataFileBlobContainer%/{fileName}", Connection = "AzureStorage:ConnectionString")]
    Stream blobStream,
    string fileName)
{
    //...
}

这通常可以正常工作,但是愚蠢的是,在将所有文件上传到我们的UAT系统之前,我没有对该功能进行最终测试……而上传时出现问题:(

[上传花了几天时间(由于CoViD-19而在我的国内互联网上行链路上运行,所以我真的不想再做一次。

有某种方法可以“重播” BlobUpload触发器吗?,以便函数再次触发,就好像我只是重新上传文件...而无需再次传输任何数据!

azure azure-functions azure-storage-blobs azure-triggers
3个回答
1
投票

根据此link

Azure Functions将Blob收据存储在一个名为 功能应用程序的Azure存储帐户中的link (由应用程序设置azure-webjobs-hosts定义)。

要强制处理Blob,请删除该Blob的Blob收据 从azure-webjobs-hosts容器中手动]]。在重新处理时 可能不会立即发生,因此可以保证稍后发生 及时。 要立即重新处理,请输入scaninfo blob 可以更新azure-webjobs-hosts / blobscaninfo。最后的斑点 扫描LatestScan属性后修改的时间戳 再次


0
投票

我发现有一个hacky-AF解决方案,它可以重新处理现有文件:


0
投票

如果您不花钱在文件名上,我发现了一种解决方法:

© www.soinside.com 2019 - 2024. All rights reserved.