azure中是否可以使用以下方案?:
我需要构建一个应用程序,它将根据用户提交进行一些繁重的处理,并将结果作为文件返回给用户。
类似于:在用户拨打电话后服务将响应:这是您的报告在2分钟内回来的网址...
答案 0 :(得分:4)
当然,这是可能的。我现在可以创建大量的blob存储网址--- http://account1.blob.core.windows.net/Reports/john1.pdf,http://account2.blob.core.windows.net/Reports/jane3.pdf,...
我假设您知道要使用的存储帐户名称,容器和最终Blob名称?如果是,只需以URL的形式将其返回给用户(您可以使用Storage Client DLL中的GetBlobReference来执行此操作)。您甚至可以在该blob中提出一个临时虚拟报告,其中显示“报告未完成,稍后再检查”,然后在报告完成后替换blob。
但我可以建议一个更好的方法吗?通过异步将Web API更改为。您的客户将提交作业,您将返回一个ID。然后,客户端将调用另一个API来检查作业状态,一旦作业完成,他们将返回URL。查看Azure Blob服务的Copy Blob API(或任何Azure Service Management API)作为参考。