新 Windows Azure 门户中的控制台如何工作?

How Console in New Windows Azure Portal Works?

在新的 Windows Azure 门户中,"Console" Window 是如何工作的?幕后究竟发生了什么?我很想知道它在内部是如何工作的。 (我自己找不到,因为我没有 Azure 帐户 :-( )

http://assets.andrewconnell.com/media/Default/Misc/AzurePortalManager04.png

该控制台看起来非常像基于 node.js 的 Azure Cross-Platform Command-Line Interface (xplat-cli)。我不是 node.js 专家,但可以猜测,浏览器会创建一个 node.js 会话并在其中运行 xplat-cli。

xplat-cli 依次使用 Service Management API of Azure,它们都是基于 REST 的。

您可以通过从 Downloads page 安装它们来自己比较 xplat-cli。此页面底部是 Windows、Mac 和 Linux 的下载链接。

其实我在微软的时候就把这个控制台作为我的实习项目做了。它是在 xplat-cli 可用之前制作的,但它仍然非常简单并且实际上使用了 Kudu 服务。 Kudu 是 git/hg 部署、WebJobs 和 Azure 网站中各种其他功能的引擎。有关 Kudu 的更多信息,请参见:https://github.com/projectkudu/kudu/

当您在 Azure 上创建 Web 应用程序时,Kudu 会为您的 Web 应用程序建立一个 scm 网站,终点为 yoursite.scm.azurewebsites.net。控制台然后接收您提供的命令,使用 scm 网站作为端点调用 Kudu 的 REST API,然后在控制台中显示输出。