Asp.net mvc 如何知道何时在ASP.NET中将多个文件上载到azure存储blob完成

Asp.net mvc 如何知道何时在ASP.NET中将多个文件上载到azure存储blob完成,asp.net-mvc,azure,azure-functions,azure-storage-blobs,azure-triggers,Asp.net Mvc,Azure,Azure Functions,Azure Storage Blobs,Azure Triggers,我们正在使用azure函数处理上载到azure存储blob上的文档。我们需要在成功上传blob上的所有文件(即一次50个文件)后发送一封电子邮件作为上传状态。 我们如何才能获得所有文件都已成功上传到blob上的状态?我不相信Azure中有内置功能可以通过编程方式为您提供状态或引发事件。但是,可能的解决办法如下: 在批量上传所有50个文件之前,创建一个JSON文件 其中包含将上载的所有文件的名称。 让我们把这个JSON文件称为批处理列表 首先上载批处理列表文件,然后上载所有需要的文件 你需要上传

我们正在使用azure函数处理上载到azure存储blob上的文档。我们需要在成功上传blob上的所有文件(即一次50个文件)后发送一封电子邮件作为上传状态。
我们如何才能获得所有文件都已成功上传到blob上的状态?

我不相信Azure中有内置功能可以通过编程方式为您提供状态或引发事件。但是,可能的解决办法如下:

  • 在批量上传所有50个文件之前,创建一个JSON文件 其中包含将上载的所有文件的名称。 让我们把这个JSON文件称为批处理列表
  • 首先上载批处理列表文件,然后上载所有需要的文件 你需要上传
  • 通过轮询过程,确定批处理中的所有文件 列表存在于Blob存储中。如果没有,则忽略,直到下一个 时间是你能够做到的。一旦确定中的所有文件 批处理列表存在于blob存储中,然后根据发送电子邮件 你的要求。删除批处理列表文件

  • 这是一个基本概念。它显然可以更复杂,但我希望你能理解这一点。

    Azure函数有一个简洁的扩展,允许你完全做到这一点,Azure持久函数。您在这里寻找的是监视器模式,在满足某些条件之前进行轮询。下面是一个示例,它检查天气状态,然后使用Twilio发送短信


    代码在Github上,请查看从E3开始的示例

    在提供适当的解决方案/建议之前,需要更多的细节

    你是如何处理这些文件的

    • 您是否对下述事件做出反应
    • 您是否正在处理队列中的这些文件,这就是您无法查看所有文件的原因
    根据您的需求,您可以使用以下方法之一:

    当检测到新的或更新的Blob时,Blob存储触发器将启动一个函数。blob内容作为函数的输入提供

    事件网格触发器内置了对blob事件的支持,还可用于在检测到新的或更新的blob时启动函数。有关示例,请参见“使用事件栅格调整图像大小”教程

    对于以下情况,请使用事件网格而不是Blob存储触发器:

    • Blob存储帐户
    • 大规模
    • 最小化延迟

    您还可以使用任何web调试代理工具(例如Fiddler)从存储服务器捕获响应消息进行确认。201如果blob已成功上载,将返回创建的状态代码