Azure Worker角色调用第三方命令行组件

时间:2014-12-05 17:17:26

标签: azure azure-worker-roles

对于我的系统,我有一个后端进程,它使用第三方命令行工具进行一些偶尔的处理。这个工具写入和读取文件系统(我指向一些文件,它的工作原理,然后它将结果写入另一个文件)。

使用Azure虚拟机显然很容易。只需编写一个Windows服务来管理这个命令行工具,并让它从队列中读取以获取处理作业。

但是,到目前为止,我已经能够在Azure中完成所有工作而无需使用完整的虚拟机。我喜欢。我不必担心应用补丁和其他维护,停机等。

所以,我的问题是,Azure中是否有一些东西可以让我在不使用虚拟机的情况下拥有此服务? “工人角色”能否实现这一目标?它可以读写文件系统吗?它可以处理具有大量任意依赖关系的第三方工具吗?我可以从辅助角色中的C#代码启动另一个进程吗?

1 个答案:

答案 0 :(得分:3)

  

“工人角色”是否能够实现这一目标?

绝对!请记住,工作者角色也是一个完整的虚拟机(使用相同的操作系统为Azure虚拟机供电)。

  

它可以读写文件系统吗?

是。但是有一个问题。您可以无法读取/写入VM上的任何任意位置。您可以完全访问该VM上名为 Local Storage 的特殊文件夹。您可以在此处详细了解:http://msdn.microsoft.com/en-us/library/azure/ee758708.aspx

  

它可以处理具有大量任意依赖关系的第三方工具吗?

是的,再次!再次,有一个问题。由于这些虚拟机是无状态虚拟机,因此,如果微软因任何原因决定拆除该虚拟机,那么您在安装虚拟机后安装的任何内容都不能保证能够满足您的要求。如果您需要安装任何其他软件,则必须通过名为 Startup Tasks 的流程进行安装。你可以在这里阅读它们:http://msdn.microsoft.com/en-us/library/azure/hh180155.aspx

  

我可以从辅助角色中的C#代码启动另一个进程吗?

虽然我没有亲自试过,但我认为这是可能的,因为你得到一台运行最新版Windows服务器的虚拟机。