Rei*_*l-- 2 azure azure-storage-blobs azure-functions azure-triggers
我刚刚将数十 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)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
这在一般情况下有效,但愚蠢的是,在将所有文件上传到我们的 UAT 系统之前,我没有对该功能进行最终测试......并且上传存在问题:(
上传花了几天时间(由于 CoViD-19,我在国内互联网上行链路上运行)所以我真的不想重新这样做。
有什么方法可以“重放” BlobUpload 触发器?以便该功能再次触发,就像我刚刚重新上传文件一样......而不必再次传输任何数据!
按照这个 link
Azure Functions 将 blob 收据
azure-webjobs-hosts存储在函数应用(由应用设置定义AzureWebJobsStorage)的 Azure 存储帐户中命名的容器 中。要强制重新处理 blob,请手动从 azure-webjobs-hosts 容器中删除该 blob 的 blob 收据。虽然重新处理可能不会立即发生,但它可以保证在稍后的时间点发生。要立即重新处理,可以更新 azure-webjobs-hosts/blobscaninfo 中的 scaninfo blob。将再次扫描具有上次修改时间戳的最新扫描属性之后的任何 blob。
我找到了一个 hacky-AF 解决方法,它重新处理现有文件:
如果将元数据添加到 blob,则似乎会重新触发 BlobStorage 函数触发器。
在 Azure 存储资源管理器中访问,但右键单击 Blob > 属性 > 添加元数据。
我设置键:“ForceRefresh”,值“test”。
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |