【问题标题】:Uploading and accessing images with Azure使用 Azure 上传和访问图像
【发布时间】:2017-04-11 17:15:03
【问题描述】:

我想上传一些静态图片,稍后我将通过一些移动应用访问这些图片。我有一个很少使用的 Azure 帐户,所以我认为这是最好的地方,因此我将它们上传到 Azure 存储中的“文件共享”。

我天真地以为我可以让他们通过一个简单的网络请求 url 访问这些文件

https://myplace.file.core.windows.net/app/images/bnb/shop/bugle_200_2.jpg

这一切让我觉得是一个 BadRequest 错误。我意识到我可以为每个文件创建一个共享访问签名 (SAS),但这似乎完全是矫枉过正。

是否有更好的 Azure 功能可供使用?我不想使用 Azure API 来获取这些文件

【问题讨论】:

    标签: azure azure-storage azure-blob-storage


    【解决方案1】:

    为@CtrlDot 的出色回答再添几分。

    我完全同意您应该使用Blob Storage 来存储静态内容。

    关于容器权限,我实际上建议将权限 (ACL) 设置为 Blob,以便用户只能查看他们拥有 URL 的 blob,而不能枚举容器中的所有 blob(将容器 ACL 设置为 @987654323 @ 将使用户能够列出容器中的 blob,这可能不是您想要的行为)。

    除此之外,使用 Blob 存储还有两个明显的优势:

    1. 自定义域:您可以将 Blob 存储映射到自定义域(例如静态 content.mywebsite.com)并使用它来提供内容,而不是使用 Azure Blob 存储标准端点(您的 account.blob.core .windows.net)。
    2. CDN:您还可以 CDN 启用您的 Blob 存储端点。然后,内容将在遍布全球的许多 CDN 节点上复制,并从靠近您的用户的节点提供服务,从而改善用户体验。

    【讨论】:

      【解决方案2】:

      我认为您应该使用的服务是 blob 存储,而不是文件存储。根据the documentation,文件存储更适用于 SMB 共享。

      设置 Azure blob 存储时,您有几个不同的选项。如果这些静态图像没有任何敏感/安全性,您可以考虑制作public container 并简单地访问这样的文件。

      如果需要身份验证,则需要使用 Azure 存储访问密钥或 Azure 存储访问令牌。在这两者中,存储访问令牌是迄今为止最安全的。

      您不需要为每个文件创建一个 SAS 令牌,而是授予它对容器的读取权限。再一次,您必须根据应用程序的安全/敏感性需求对其进行调整。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-10
        • 2017-01-06
        相关资源
        最近更新 更多