【问题标题】:Azure Blob Storage large file uploadAzure Blob 存储大文件上传
【发布时间】:2015-06-16 13:28:30
【问题描述】:

我正在开发一个将在 Azure 上运行并要求用户上传非常大的 .tiff 文件的应用程序。我们将使用 blob 存储来存储文件。我一直在查看几个网站以确定处理这种情况的正确方法,这个链接提供了一个很好的例子,但是如果我在前端使用 angular js 将它们抓取并分块到 sas 定位器并通过 javascript 上传,http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-2/。我的主要困惑集中在我应该给 SAS 以供用户执行上传的到期时间。我希望每次用户执行文件上传时都创建一个不同的 SAS,并在文件上传后消失。我还希望允许其他站点用户也可以查看这些文件。处理这两种情况的最佳方法是什么?此外,还有一些关于如何为容器和 blob 生成 SAS 定位器的示例,如果我需要向容器添加新 blob,这更有意义吗?

【问题讨论】:

    标签: c# asp.net azure-blob-storage


    【解决方案1】:

    听起来您可能想在容器上使用存储的访问策略。这允许您在创建 SAS 后修改 SAS 的到期时间。看看http://azure.microsoft.com/en-us/documentation/articles/storage-manage-access-to-resources/#use-a-stored-access-policy

    使用存储访问策略,您可以创建一个具有较长到期时间且仅对上传操作具有写入权限的 SAS,然后让您的应用程序在文件上传完成时检查,并更改到期时间以撤销SAS。

    您可以为正在查看站点上文件的用户创建单独的 SAS 和存储访问策略,仅具有读取权限。在这种情况下,您可以提供较长的到期时间并仅在需要时更改或撤销它。

    【讨论】:

    • 如果多个用户同时尝试执行上传怎么办?
    • 您真的需要在上传 blob 后立即撤销 SAS 吗?如果 SAS 特定于该 blob 并为其提供只写权限,它是否可以在更长的时间内有效?一个容器上最多可以有五个存储的访问策略,因此您可以将一组上传操作与一个相关联,并在所有操作完成后更改到期时间,同时为下一组正在开始的新操作创建另一个访问策略.或者,您可以估计上传操作需要多长时间,添加一个缓冲区,并将该时间用作到期时间。
    • 另外,请参阅azure.microsoft.com/en-us/documentation/articles/… 了解使用 SAS 的最佳实践。
    猜你喜欢
    • 1970-01-01
    • 2016-08-18
    • 2013-02-22
    • 2017-01-24
    • 2017-08-19
    • 2021-12-18
    • 2019-07-24
    • 2019-07-10
    • 1970-01-01
    相关资源
    最近更新 更多