7

我有一个构建脚本,将其配置为将一些文件转储到 Azure Blob 存储中非常有用,以便我的 Azure Web 角色可以获取它们。

我的首选计划是找到某种方法将 Blob 存储安装在我的构建服务器上作为映射驱动器,并简单地使用 Robocopy 复制文件。这将涉及最少的摩擦,因为我已经使用WebDrive将一些这样的文件部署到其他 Web 服务器。

我找到了一个可以让我这样做的软件:http ://www.gladinet.com/

然而,在进一步调查中,我发现它需要端口 80 才能运行,而不会在服务器上进行一些看起来很毛茸茸的黑客攻击。

那么是否还有其他我可以使用的软件或者我没有考虑过的其他方式,例如将文件部署到与 blob 存储自动同步的本地文件夹?

更新以回应@David Makogon

我正在使用http://waacceleratorumbraco.codeplex.com/这在 blob 存储和 Web 角色之间执行 2 路同步。我已经使用http://cloudberrylab.com/对此进行了测试,我可以手动将文件部署到 blob,并将它们正确部署到 Web 角色。此外,我在网络角色中完成了反向和更新的文件,然后将这些文件同步回 blob,随后我从 blob 存储中编辑/下载了它们。

我真正在寻找的是一种将云莓方面自动化的方法。所以我没有手动步骤来复制一些文件。同时,我将研究 Powershell 解决方案。

4

3 回答 3

9

我知道这是一个旧帖子 - 但如果其他人来到这里......现在答案是“是”。我一直在做一个 CodePlex 项目来做到这一点。(所有源代码都可用)。

http://azuredrive.codeplex.com/

在此处输入图像描述

在此处输入图像描述

于 2012-03-23T01:51:10.610 回答
4

如果您喜欢在构建过程中使用 powershell,那么您可以使用Cerebrata Cmdlet来上传文件。如果这对您不起作用,您可以编写一个自定义活动(但这听起来涉及更多)。

于 2011-05-31T20:03:06.170 回答
1

不支持从非 Windows Azure 计算实例(例如您的本地构建机器)安装云驱动器。

话虽如此:即使您可以从构建机器安装云驱动器,您的计算实例也需要访问它,并且只能有一个写入器。如果您的计算实例只需要只读访问权限,则它们需要在您上传新文件后创建快照。

不过,这听起来确实不是一个好主意。正如 knightpfhor 所建议的,Cerebrata cmdlet 提供了这种功能(查看 Import-File)。这允许您将单个文件推送到它们自己的 blob 中。您可以通过将单个 ZIP 文件推送到 blob 中来进一步优化。然后,您可以使用类似于 Nate Totten 在他的多租户 Web 角色示例中描述的技术来检测新的 zip 文件并将它们扩展至本地存储。Nate 的博文在这里

哦,如果您不想使用 Cerebrata cmdlet,您可以使用 Windows Azure Storage REST API 直接上传 blob(尽管 cmdlet 使用起来非常简单,并且可以与 PowerShell 无缝集成)。

于 2011-06-01T15:15:20.950 回答