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

在Azure Web角色实例上运行脚本,azure,azure-web-roles,azure-management-api,Azure,Azure Web Roles,Azure Management Api,有没有办法在Azure Web角色实例上执行某些脚本?我是Azure和Azure管理API的新手 基本上,我想要实现的是,根据环境类型,我希望在所有Azure Web角色实例中打开/关闭两个服务。例如,如果我有一个具有5个实例的web角色,那么脚本应该在所有5个实例中执行 确定暂存/生产环境 获取暂存和生产环境的所有web角色 对于每个角色,获取所有实例 在所有实例中运行脚本(远程) 这里的任何帮助都将不胜感激 编辑:我能够获取每个环境的登台/生产环境详细信息和web角色详细信息。我正在使用服务

有没有办法在Azure Web角色实例上执行某些脚本?我是Azure和Azure管理API的新手

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

  • 确定暂存/生产环境
  • 获取暂存和生产环境的所有web角色
  • 对于每个角色,获取所有实例
  • 在所有实例中运行脚本(远程)
  • 这里的任何帮助都将不胜感激

    编辑:我能够获取每个环境的登台/生产环境详细信息和web角色详细信息。我正在使用服务管理Rest API和获取云服务属性方法:

    /服务/托管服务/?嵌入详细信息=真

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

    但是当我尝试访问云服务(WebAPI)时,它给出了404错误。不确定是否可以使用IP访问IIS上托管的web api项目

    提前感谢,,
    Jash不太确定你想要达到什么目标。但是,如果您有一个具有Web/工作者角色的云服务,则无法从Internet直接访问每个实例。有一个Azure负载平衡器位于您的部署前面,它将Internet请求路由到实例

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

    有关在WebRole项目中使用RoleEntryPoint的更多信息,请参阅本参考资料:


    使用PowerShell,我相信您需要的命令是
    Get Deployment
    ,它将返回实例的输入端点列表@l19:GetDeployment提供每个实例的实例端点详细信息。输入端点详细信息与VIP链接,例如3389 tcp。当我尝试在URL(ASP.NET WEB API)中使用实例端点时,它给出了504错误。您希望执行哪种脚本?您可以通过tcp端点连接到它们中的每一个,但您必须编写代码来处理那里的连接…感谢您的回复。您有关于为Web角色实例创建输入端点的文档吗。另外,如果我们使用web应用程序,那么我们可以使用输入端点访问web应用程序吗?好的,我可以看到在我们的csdef文件中已经声明了两个输入端点。端点的名称分别为端口80和443上的HTTP和HTTPs。现在,在GetDeployment()的帮助下,我能够获取每个实例的DIP(IP)。我现在应该如何构造URL来访问实例?例如。。。。其中IP—实例的IP地址。现在这对我不起作用,所有的请求都给出了504个http错误,正如我在回答中所说的那样-你不能从Internet访问单个角色实例。再次阅读我的答案,了解如何实现你的目标!也许我第一次读错了。道歉。使用RoleEntryPoint类的问题是,我们不确定何时需要运行脚本。在部署期间,我们希望在生产和暂存箱上运行此脚本。