我是Azure的新手,对Blob存储有些困惑。我需要客户端通过FTP / SFTP访问来推送和拉取文件(XML,CSV,EDI等)。推送的文件由.net应用程序读取,并写入数据库。据我了解,我们将使用VM角色创建FTP / SFTP服务器,使用辅助角色执行.net代码,为数据库使用SQL存储,并为文件使用Blob存储。

我首先在这个假设上是正确的,其次,VM角色可以将存储Blob附加用于写入和读取文件,辅助角色可以附加到相同的存储Blob来读取和写入文件。

样品:

客户端通过FTP将xml文件推送到VM。 VM将XML文件写入存储。辅助角色读取文件,对其进行处理并将内容写入db。

我的想法是正确的还是我错过了船?

谢谢

最佳答案

鉴于Azure有一系列服务,因此您有一些选择。使用Azure时要记住的一件事是,您的辅助角色非常灵活,因此它们可以做很多事情-包括编写自己的FTP服务器并成为能够通过辅助角色虚拟机托管它。 FTP to Azure Blob Storage Bridge(在CodePlex上)解决方案就是一个示例。

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

就存储文件而言,您当然可以使用Blob存储。如果您的系统中不需要关系数据库,则可以完全跳过使用SQL Azure(在这种情况下,上面引用的Web角色解决方案用处不大)–但这又取决于您的特定要求。

official Windows Azure website是很好的知识来源,尤其是在您入门时,因此请花一些时间阅读一些相关文档。

关于azure - Azure体系结构设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15227009/

10-17 00:11