2011-06-08 87 views
0

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

当检索图像以显示在页面上时,最佳实践是什么?我玩过几个教程,并创建了一个简单的应用程序来存储图像,然后允许您检索它们以在浏览器中显示(http://www.codeproject.com/KB/cs/Azue7StepsBlob.aspx),但是,当按下按钮时检索图像,使用Image.FromStream写出blob流。如果你有一个页面,里面有100个图像,需要100个独立的数据库调用,这是存储和检索文件的正确方式,还是我完全错过了一些东西?任何帮助是极大的赞赏。

帕特

回答

2

您提到的示例 - 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美元 - 这可能听起来不太多,但如果您在那里存储大量小型经常访问的文件,则可能会变得非常重要。

+0

感谢您的帮助,我认为设置公开阅读权限是我需要的关键,我已经成功地将图像保存并检索到blob存储,希望很快能够让我的头部多余! – patg 2011-06-08 16:54:29

+0

:)虽然你在那里,请确保你有写入类型的读取权限 - 你可能会想要“公开读取blob只读”在http://msdn.microsoft.com/en-us/library /dd179354.aspx – Stuart 2011-06-08 17:15:29

+0

我已经完成了所有工作,感谢您的帮助。 – patg 2011-06-09 11:39:16

1

你有概念化的Azure平台,更重要的是,服务器将被上升和下来。

您付出更多的sql azure数据库的使用,所以最有效的方法来管理图像是将图像存储在azure存储,并保持一个键指向你的SQL Azure数据库中的图像。

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