使用日志记录回调下载进度?



我这里有一个令人头疼的挑战。

我有一个在 Azure 中运行的 Web 应用程序,在某些时候会公开一个 SAS URI(下载链接(,供用户从我们的 Azure 存储下载文件。

这样做的问题是我无法跟踪下载内容的确切计数。

我只能假设当我为某个用户生成下载链接时,该文件已完全下载。也许不是。

我查看了 Azure 日志,我认为我无法在其中找到我想要的内容。

有什么方法可以让用户从控制器方法下载文件,并每隔一段时间执行一次回调,以保存传输进度,以便我可以将其记录在某个地方并知道哪个用户下载了那么多。

我也在想SignalR。这可以用于此目的吗?

谢谢。

这样做的

问题是我无法跟踪下载内容的确切计数。

如果启用了 Azure 存储诊断功能,则会记录 Blob 上的读/写/删除操作,可以从诊断日志中获取指定 Blob 的下载(getblob操作(计数。

此外,如果仅允许用户从 MVC 应用程序下载 blob,则可以在控制器操作中更新和保存外部存储中的下载计数,此 SO 线程讨论了类似的问题。如果直接公开 SAS URI,则具有有效且未过期的 SAS URI 的用户可以在浏览器中输入该 SAS URI 并下载 Blob,则很难跟踪以这种方式下载的 Blob 的下载计数。

最新更新