-1

有没有办法在 Azure Web 角色实例上执行一些脚本?我对 Azure 和 Azure 管理 API 很陌生。

基本上我想要实现的是,根据环境类型,我想在所有 Azure Web 角色实例中打开/关闭几个服务。因此,例如,如果我有一个包含 5 个实例的 Web 角色,那么脚本应该在所有 5 个实例中执行。

  1. 确定登台/生产环境
  2. 获取登台和生产环境的所有 Web 角色
  3. 对于每个角色,获取所有实例
  4. 在所有实例中运行脚本(远程)

在这里的任何帮助将不胜感激。

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

https://management.core.windows.net/ /services/hostedservices/?embed-detail=true

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

但是当我尝试访问云服务(Web API)时,它会出现 404 错误。不确定我们是否可以使用 IP 访问托管在 IIS 上的 Web api 项目。

在此先感谢,贾什

4

1 回答 1

0

不完全确定您要达到的目标。但是,如果您有一个具有 Web/Worker 角色的云服务,则您不能直接从 Internet 访问每个单独的实例。部署前面有一个 Azure 负载均衡器,可将 Internet 请求路由到实例。这对您阅读很有用

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

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

于 2015-01-13T08:06:52.137 回答