azure - 从 Azure 存储提供文件服务

标签 azure azure-storage

我有一个简单的需求,但是有很多 azure 的选项,我不知道从哪里开始。

我在 azure 上有一个 AppService(网站),我想从中提供静态 PDF 供下载。换句话说,网站上有一个培训页面,在这个页面上,我想要有 PDF 的下载地址。

但我不希望 PDF 成为 AppService 文件的一部分,我希望将它们存储在存储中,以便它们与网站文件分开。

这应该如何完成?

到目前为止我发现的是:Azure Blob 存储,但我不清楚如何使用 URL 来使用它们。这些示例看起来像是使用代码而不是公共(public) URL 进行下载。

我还查看了 Azure CDN,但这似乎超出了我的预期。只需要一个简单的位置来存储和下载文件。

最佳答案

您可以将 blob 容器公开,以便知道该链接的任何人都可以下载该文件。 在这种情况下,您可以仅链接到该文件或从您的应用返回 302 重定向到该链接,这也会启动下载。

另一种选择是使用 SAS token 。 这些临时 token 是使用您的存储帐户访问 key 生成的, 并附加到 URL 中。 然后,您可以在链接中提供最终 URL,以允许用户下载该文件。 在此选项中,容器可以保持私有(private),并且您可以控制谁可以访问什么。 现在, token 仅在过期之前有效(这次由您决定),因此用户可以将链接提供给其他人,他们也可以在这段时间内下载文档。

第三个选项是将文件通过您的应用程序传送给用户。 从后端下载文件,然后将其流式传输给用户进行下载。 此选项会占用后端更多资源,因为每次下载都会使用线程和 IO。 此选项是最安全的,因为您可以控制谁可以下载什么内容。

关于azure - 从 Azure 存储提供文件服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53186847/

相关文章:

azure - 将 XP 32 位托管为 Azure 虚拟机

Azure 响应时间监控每个请求的范围

Azure 管理库,证书被拒绝

java - Azure 存储表 REST Api 调用 - 无效 header

azure - 如何通过 C# 检测正在使用的 Azure AD 版本?

azure - 使用 Azure CosmosDB 与存储进行端到端加密

Azure Data Lake Gen2 与存储帐户

java - 如何获取 Azure blob 下载中的 blob 下载进度

c# - 将文件上传到 Azure CDN 时如何获取有关 400 错误请求错误的更多信息

azure - 将 csv 文件批量插入 Azure