2013-03-05 88 views
2

我是Azure的新手,对blob存储有点困惑。我需要客户端通过FTP/SFTP访问来推送和提取文件(XML,CSV,EDI等)。推送的文件由.net应用程序读入并写入数据库。据我所知,我们将使用虚拟机角色创建FTP/SFTP服务器,执行.net代码的工作者角色,DB的SQL存储和文件的Blob存储。Azure体系结构设计

我是在这个假设是正确的第一,二可以在VM角色附加存储BLOB写入和读取文件,并可以辅助角色连接到相同的存储BLOB读取和写入的文件。

示例:

客户端通过FTP将xml文件推送到VM。 VM将XML文件写入存储。工作者角色读取文件,处理它并将内容写入数据库。

是我想正确的还是我失去了船?

谢谢

回答

1

鉴于Azure有一系列服务,所以您有几个选项。要记住与Azure的一个重要的事情是,你的工作者角色,这是简单的Windows Server 2008没有安装IIS,非常灵活,所以有很多,你可以与他们无关 - 这包括写你自己的FTP服务器,并为能够通过工作角色虚拟机来托管它。 FTP to Azure Blob Storage Bridge(在CodePlex上)解决方案就是一个例子。

此外,您可以使用网络角色(与启用IIS的工作者角色相同)来执行相同的操作 - 而不是滚动您自己的FTP服务器,您可以使用IIS。 ITQ上可以找到Azure中的A visual guide to setting IIS up to run as an FTP server。 我建议做一些进一步的阅读,以确定哪个是两个更好的选择。也有想你的要求,因为这可能会影响你的做法,即缩放,带宽,成本,您首选的部署模型等

至于存储文件去你当然可以使用Blob存储。如果您的系统中不需要关系数据库,那么您可以完全忽略使用SQL Azure(在这种情况下,上面提到的Web角色解决方案将不会有太大的用处) - 但这又取决于您的特定需求。

official Windows Azure website是一个很好的知识来源,尤其是如果你开始,所以花时间浏览一些相关的文档。

+0

谢谢伯尔尼,我们考虑VM的原因是因为我们需要托管多个协议(SFTP,FTP,FTPS,HTTPS),目前使用第三方服务器,这不是推出我们自己。尽管如此,我仍然不清楚虚拟机角色是否可以与某种文件对象进行对话,这些文件对象也可以是存储博客,也可以是工作者角色?我需要一个中央存储库来存储所有角色可以访问并读取和写入的文件。从VM直接安装或者编写.net应用程序来处理从本地到存储对象的传输是我们的想法。 – user2136241 2013-03-05 16:10:36

+0

喜@ user2136241 - 是的,你是正确的,Blob存储API是非常灵活,你可以使用Blob存储作为排序(斑点=文件/ BLOB容器=文件夹)的文件系统。如果您有时间花一些时间阅读关于Azure的这篇文章:http://www.windowsazure.com/en-us/develop/net/how-to-guides/blob-storage/它可能会为您提供更多blob存储的全面概述。 – Bern 2013-03-05 16:20:43