【问题标题】:SQL Azure File StorageSQL Azure 文件存储
【发布时间】:2011-09-10 23:00:21
【问题描述】:

我最近开始研究使用 Azure,但在文件存储方面遇到了一些问题。从我读到的图像需要存储为 blob,并且无法将它们直接存储在文件系统上。不幸的是,这需要对从文件系统获取所有文件的 CMS 进行大量修改。

检索图像以显示在页面上时,最佳做法是什么?我玩过一些教程并创建了一个简单的应用程序,它存储图像然后允许您检索它们以显示在浏览器中(http://www.codeproject.com/KB/cs/Azue7StepsBlob.aspx)但是这个按下按钮时检索图像,使用 Image.FromStream 写出 blob 流。如果您有一个包含 100 个图像的页面,需要对数据库进行 100 次单独调用,这是存储和检索文件的正确方法,还是我完全遗漏了什么?非常感谢任何帮助。

拍拍

【问题讨论】:

    标签: .net azure


    【解决方案1】:

    您提到的示例 - http://www.codeproject.com/KB/cs/Azue7StepsBlob.aspx - 使用 Azure Blob 存储。

    这与使用 SQL 文件存储略有不同 - 它不是 SQL,而是一种更简单的存储机制,专门用于快速、可扩展的 HTTP 访问。

    检索图像以显示在页面上时,最佳做法是什么?

    “推荐的方式”似乎是将 Blob 存储 URL 直接传递给浏览器 - 然后浏览器可以检索并显示图像 - 您的应用程序不必自己检索图像。

    根据您的要求,您可以为 Blob 存储设置公共读取访问权限,也可以为临时访问设置共享访问签名。使用这些机制中的任何一种都将允许浏览器使用 HTTP 直接从 Blob 存储中读取。

    为了帮助理解更多,试试这个官方教程 - http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_exploringwindowsazurestoragevs2010_topic3.aspx

    另外,看看这里的其他问题,例如Where to store things like user pictures using Azure? Blob Storage?


    还请注意 Blob 存储所涉及的成本 - 有存储成本(通常是最低的)和访问成本 - 每 10000 次访问成本为 0.01 美元 - 这听起来可能不多,但如果您存储很多,可能会变得很重要那里经常访问的小文件。

    【讨论】:

    • 感谢您的帮助,我认为设置公共读取访问权限是我需要的关键,我已成功将图像保存并检索到 blob 存储,希望我能尽快解决剩下的问题!跨度>
    • :) 当您在那里时,请确保您具有读取访问权限的写入类型 - 您可能需要msdn.microsoft.com/en-us/library/dd179354.aspx上的“仅限 Blob 的公共读取访问权限”
    • 如需其他帮助,如果您正在检索网页的许多图像并且您提前知道这些图像将是什么,请使用 CSS Sprites 将它们全部存储在单个图像实例中。这将减少对您的页面的 Blob 存储的调用次数。
    【解决方案2】:

    您必须对 azure 平台进行概念化,更重要的是服务器会上升和下降这一事实。

    您为使用 sql azure db 支付更多费用,因此管理图像的最有效方法是将图像存储在 azure 存储中,并在 sql azure 数据库中保留指向该图像的密钥。

    您可能需要对应用程序的体系结构进行更改,但是在进行这些平台更改时,您将利用 Azure 的强大功能。

    【讨论】:

      猜你喜欢
      • 2015-06-27
      • 2017-05-23
      • 2017-08-18
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 2018-04-13
      • 2011-09-18
      相关资源
      最近更新 更多