【问题标题】:Serving Files From Azure Storage从 Azure 存储提供文件
【发布时间】:2019-02-26 02:38:00
【问题描述】:

我有一个简单的需求,但是有这么多天蓝色的选择,我不知道从哪里开始。

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

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

这应该怎么做?

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

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

【问题讨论】:

  • 请不要为您的问题添加答案。如果您想发布您自己的给定答案版本,您可以作为单独的答案发布,或者(更好)在您给出的答案下发表评论。但是您对问题的编辑(包含您的答案的详细信息)应该被删除。
  • 是否有理由建议我不添加附加信息?
  • 创建新答案的缺点是,如果您只是阅读已接受的答案,不知道还有更多信息,那么很容易错过。我也不想从接受的答案中拿走分数。但是我仍然看不到添加新答案的好处,但我确实看到了它的缺点。不过,另一种选择是,我们将编辑添加到已接受的答案中,但我总是在没有充分理由的情况下对编辑其他人的答案犹豫不决。
  • 而且您没有列出编辑问题以添加更多信息的任何实际缺点。
  • 好的,很公平。我已将我的编辑移至单独的答案。我并不是要在这个问题上以错误的方式摩擦你,只是想完全理解这个问题。我想我最初不想这样做,因为我并没有表现出我只是在窃取他的回答并将其用作我自己的答案。

标签: azure azure-storage


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您可以将您的 PDF 上传到 Azure Blob 存储到一个特殊的容器中(例如下载),并通过以下两种方式之一公开该容器和内容:

    • 仅限 Blob 的公共读取访问权限:容器内的 Blob 可以通过匿名请求读取,但容器数据不可用。匿名客户端无法枚举容器中的 blob。

    • 完全公共读取访问权限:所有容器和 blob 数据都可以通过匿名请求读取。客户端可以通过匿名请求枚举容器内的 blob,但不能枚举存储帐户内的容器。

    然后可以通过https://yourStor.blob.core.windows.net/download/train1.pdf 之类的 URL 访问它们

    【讨论】:

      【解决方案3】:

      扩展已接受的答案

      创建存储帐户,例如 mystorage

      在存储账户中,创建一个容器,比如mycontainer

      在容器上,将访问策略设置为 Blob(仅限 Blob 的匿名读取访问)。

      将您的文件(例如 myfile.txt)上传到容器中。

      查看文件属性。它将显示此格式的文件的 URL:https://mystorage.blob.core.windows.net/mycontainer/myfile.txt

      请注意,URL 区分大小写。

      【讨论】:

        猜你喜欢
        • 2020-08-09
        • 2021-12-05
        • 2012-07-15
        • 2019-01-29
        • 2017-08-18
        • 2015-10-01
        • 1970-01-01
        • 2017-02-27
        • 1970-01-01
        相关资源
        最近更新 更多