Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 使用REST API升级部署到托管服务的应用程序_Azure_Azure Configuration - Fatal编程技术网

Azure 使用REST API升级部署到托管服务的应用程序

Azure 使用REST API升级部署到托管服务的应用程序,azure,azure-configuration,Azure,Azure Configuration,我想知道如何使用REST API升级托管服务上部署应用程序的单个角色。假设我有2个web角色和1个worker角色,我只想更新/升级2个web角色中的一个。我知道我们可以使用Azure管理门户进行升级 还想知道回滚在Azure中是如何工作的。如果我想将部署应用程序回滚到以前的状态,我可以回滚吗?您不能使用服务管理API修改角色数。这只有通过执行新部署才能实现(这可以使用API实现) 您唯一能做的就是使用ChangeConfiguration请求修改实例数: 可以将部署回滚到以前的状态。部署新版本

我想知道如何使用REST API升级托管服务上部署应用程序的单个角色。假设我有2个web角色和1个worker角色,我只想更新/升级2个web角色中的一个。我知道我们可以使用Azure管理门户进行升级


还想知道回滚在Azure中是如何工作的。如果我想将部署应用程序回滚到以前的状态,我可以回滚吗?

您不能使用服务管理API修改角色数。这只有通过执行新部署才能实现(这可以使用API实现)

您唯一能做的就是使用ChangeConfiguration请求修改实例数:

可以将部署回滚到以前的状态。部署新版本时,我倾向于使用VIP交换:

  • 我将我的应用程序的新版本部署到staging
  • 我做VIP交换(新版本变成生产,旧版本变成暂存)
  • 我关闭了登台版本(没有删除它),这样旧版本就停止处理来自队列等的消息。。以防我的逻辑改变
如果我想回滚,我只需重新打开旧部署并再次进行VIP交换。这种工作方式有两个备注:

  • 您只能“还原”到应用程序的上一版本
  • 您需要考虑到您可能已经更改了外部资源(如SQLAzure),回滚应用程序可能会因为此更改而中断

编辑:通过指向REST API的链接修改了我的回滚答案

由@Sandrino编写的好答案。只是想对就地更新进行一点扩展。升级部署REST API调用是用于更新角色的调用。正如Sandrino指出的,您仍然需要向上推一个新的部署包(包括所有角色),但是您可以通过为
RoleToUpgrade
元素指定角色名称来指定只升级整个包中的一个角色

请参阅关于升级部署API调用的


编辑:还可以通过PowerShell cmdlet(可下载)获得所有REST API。请看
Set-AzureDeployment
,它有一个升级参数集。

如果用户在托管服务上添加了新的web角色,并希望在部署的应用程序中更新该角色,则无法使用REST API。我是正确的?您可以使用服务管理API升级部署。但这只有在上载包含新web角色的新包时才可能:对于回滚,请按照链接进行操作,对于回滚,指定为。如果有3个web角色实例,第一和第二个是升级域0,第三个是升级域1。如果你对第1和第2个应用了新的更改,第三个是不变的,那么你可以将第1和第2个回滚到以前的状态。请提供你在升级域上的输入链接,没想到!事实上,如果您有一个未触及的升级域,您应该能够将其他升级域回滚到其初始状态。+1对于RoleToUpgrade,以前没有注意到这一点,但进行部分升级可能会很有趣。这是否意味着你们可以不去碰其他角色?是的,这是2011年10月宣布的一部分。感谢@SandrinoDiMattia,@David你们的宝贵意见。我真的很感激。