Azure架构设计

标签 azure azure-blob-storage

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

首先我的这个假设是否正确,其次虚拟机角色是否可以附加存储 blob 来写入和读取文件,辅助角色也可以附加到同一存储 blob 来读取和写入文件。

示例:

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

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

谢谢

最佳答案

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

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

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

official Windows Azure website是一个很好的知识来源,特别是如果您刚刚入门,因此请花时间查看一些相关文档。

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

相关文章:

azure - "queued"Azure 事件网格 Blob 触发器事件消息存储在哪里以及如何清除它们?

azure - 连接到虚拟机上的 SQL Server 的 Azure Web 角色的连接字符串

c# - 将数据从 Azure Excel blob 文件导入到 SQL Server

c# - 将 DataTable 上传到 Azure blob 存储

azure - Cosmos DB - 是否对字段进行不同的扫描索引或扫描所有记录?

c# - 尝试删除 Azure blob - 获取 blob 不存在异常

c# - Azure - 更新 BLOB 存储中的现有 xml 文件

SQL:如何最好地查询历史表以创建特定日期的快照概述

Windows Azure VM 远程桌面连接问题

azure - 如何在 Azure 门户中查找 kubernetes 集群的 --name?