是否有办法检测工作人员角色是否正在升级或生产。
我想这样做是为了在分阶段环境中压缩功能,直到它被交换到生产状态,然后在“去生产”版本中禁止相同的功能。
只有存在错误的environemnt,以便可以预先上传新版本以确保交换时间为正常且零停机时间,然后停止先前版本,同时执行额外的QA然后删除。
由于
韦恩
答案 0 :(得分:2)
您可以使用Service Management REST API调用来执行此操作。您可以做的是使用embed-details = true查询参数获取托管服务的属性(http://msdn.microsoft.com/en-us/library/ee460806.aspx)。这将为您提供有关托管服务部署的详细信息。您感兴趣的是“”部署中的节点,它将为您提供部署ID。您可以将此与您从RoleEnvironment类(http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment_members.aspx)获得的部署ID进行比较,并使用它们,您可以了解您的部署是在分段还是生产槽中运行。
希望这有帮助。
答案 1 :(得分:0)
节点的windows azure sdk将为您提供所需的信息 - https://github.com/WindowsAzure/azure-sdk-for-node
具体而言 - azure.RoleEnvironment.getCurrentRoleInstance
或azure.RoleEnvironment.getRoles
应该为您提供触发功能所需的信息。
如果有人需要区分Azure Cloud / Azure模拟器,模拟器会在Azure模拟器下运行时配置EMULATED
可从process.env
访问的环境变量。如果您尝试区分模拟器和内置节点服务器,这也很有用。