我们需要创建大型(1G-16G)行数据报告来压缩和加密它们。 我们的客户将通过sFTP使用这些报告。我们正在替换现有的实施,因此我们的客户应该透明地进行此更改。
Azure Blob服务不公开sFTP服务,因此我们需要一些方法来使用sFTP服务来覆盖它。类似于FTP to Azure Blob Storage Bridge的基于工作者角色的东西。 worker角色会将sFTP端点暴露给外部世界。 我们将为每个客户设置一个容器,并限制工作者角色的访问权限,以便保护容器免受直接访问。
我的问题是:
相关问题:
In Windows Azure: What are web role, worker role and VM role?
Azure Architecture Design
答案 0 :(得分:1)
您可以通过简单地直接通过HTTPS公开blob存储端点来实现此目的,并期望使用共享访问签名(http://www.windowsazure.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-1/)来限制对这些blob的访问。
根据您的反馈 - 或许可以利用Linux来运行sFTP服务器并使用Java,Node或PHP Azure SDK实现相同的目标,即在预定的基础上从blob存储中提取内容,而无需工人角色(cron应该看到你的权利)。老实说,你将把你的存储使用量增加一倍(而不是那么贵),因为你要将blob从存储中拉出来并放到VM的VHD上,但这种方法可行。
我注意到你说你正在加密写入blob存储的文件 - 你可以使用PKI方法并与客户共享密钥,允许他们直接通过HTTPS提取。无论如何,sFTP似乎是:)。