有谁知道 Azure 发布中是否有任何更改以允许将静态内容(js、css、图像)等作为发布操作的一部分自动放入 blob 存储?
这将使发布应用程序变得更加容易,因为您不必一直将静态文件放入 blob 存储。将静态文件远离 Web 角色是有意义的,因为它有助于扩展应用程序。
Azure 相对于其他开发环境的主要优势之一应该是它与 Visual Studio 的集成以及良好的全栈体验
有谁知道 Azure 发布中是否有任何更改以允许将静态内容(js、css、图像)等作为发布操作的一部分自动放入 blob 存储?
这将使发布应用程序变得更加容易,因为您不必一直将静态文件放入 blob 存储。将静态文件远离 Web 角色是有意义的,因为它有助于扩展应用程序。
Azure 相对于其他开发环境的主要优势之一应该是它与 Visual Studio 的集成以及良好的全栈体验
一个稍微长一点的答案是,CDN 会在网络角色和存储之间做出决定,这是一个有争议的问题。至少对于在整个站点中使用的常用静态文件而言。
您可以将托管服务用作源服务器,以通过 CDN 分发出去。看看http://blogs.msdn.com/b/scicoria/archive/2011/07/10/hosted-service-as-a-windows-azure-cdn-origin-tips.aspx
但是,正如上面 David 所指出的,通过在打包过程中将它们移动到 blob 存储来减少发布包大小可能会有一些好处。作为自动构建过程的一部分编写脚本然后进行差异更新很容易。
简短的回答是否定的 - v1.7 工具或项目类型中没有将 Windows Azure 存储内容作为其元素之一。不过,在开发环境中,我确实看到了吸引力。对于生产系统,我觉得自动化工具更合适。
并不是说这就是您要寻找的答案,但是……不过,有一种方法可以使存储上传自动化。您可以利用 PowerShell,结合您选择的自动化工具(无论您是使用 TFS/MSBuild 100% 还是在 Team City、CruiseControl.net 或其他东西中混合使用)。
REST API 已经涵盖了存储管理(包括上传块和页面 blob 的能力)。PowerShell cmdlet 使上传 blob 内容变得非常容易,这使您可以决定何时执行脚本(以及部署、部署之前、以后作为更新等)。
还要考虑一件事:静态内容的大小可能很大。您可能希望避免完全上传,并专注于单个对象。我合作过的一些合作伙伴拥有数百 MB 的静态内容(有几个拥有 GB)。批量推送此内容不太实用。PowerShell cmdlet 在这些情况下提供帮助。
我刚刚发布了https://github.com/Plasma/AzureBlobUtility,它是一个命令行实用程序,用于将文件从本地存储上传到 blob 存储,我现在使用它让 TeamCity 提前将 cspkg 上传到 blob 存储。
您可能会发现自动上传资产很有用。