在Azure Web角色实例上运行脚本

时间:2015-01-12 22:28:54

标签: azure azure-web-roles azure-management-api

有没有办法在Azure Web角色实例上执行某些脚本?我对Azure和Azure管理API不熟悉。

基本上我想要实现的是,根据环境类型,我想在所有Azure Web角色实例中切换ON / OFF服务。因此对于例如如果我有一个包含5个实例的单个Web角色,那么该脚本应该在所有5个实例中执行。

  1. 确定登台/制作环境
  2. 获取暂存和生产环境的所有Web角色
  3. 为每个角色获取所有实例
  4. 在所有实例中运行脚本(远程)
  5. 非常感谢任何帮助。

    编辑:我也能够获取每个环境的登台/生产环境详细信息和Web角色详细信息。我正在使用Service Management Rest API和Get Cloud Service Properties方法:

    https://management.core.windows.net/ /服务/ hostedservices /?嵌入细节=真

    上面的URL返回一个角色实例列表及其IP地址。

    但是当我尝试点击Cloud Service(Web API)时,它会给出404错误。不确定我们是否可以使用IP来访问IIS上托管的Web api项目。

    提前致谢, JASH

1 个答案:

答案 0 :(得分:0)

不完全确定您要实现的目标。但是,如果您拥有具有Web / Worker角色的Cloud Service,则无法直接从Internet访问每个单独的实例。 Azure负载均衡器位于部署前面,并将Internet请求路由到实例。 This would be useful for you to read

然而,您可以做的是实现RoleEntryPoint类,就像您对工作者角色所做的那样。然后您可以定期检查触发器 - 例如容器中的Blob,表存储中的记录等。发生这种情况时 - 决定做什么:从Localhost获取特殊URL,直接使用Process.Start()执行脚本。您的选择,您有完全的控制权。您所要做的就是在Web项目中添加一个继承自RoleEntryPoint的新类。

您可以参考此资源以获取有关在WebRole项目中使用RoleEntryPoint的更多信息: