2012-06-22 34 views
1

想知道如何使用REST API升级托管服务上的部署应用程序的单个角色。说我有2个Web和1个辅助角色,我想更新/只升级一个webrole 2.我知道我们可以做Azure管理门户。使用REST API升级部署到托管服务的应用程序

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

回答

1

您无法使用Service Management API修改角色的数量。这只能通过进行新的部署(这可以使用API​​)。

你能做的唯一的事情是通过使用ChangeConfiguration要求修改实例的数量:Change Deployment Configuration

回滚部署到以前的状态是可能using the REST API。我倾向于做当部署一个新的版本是使用VIP交换什么:

  • 我我的应用程序的新版本部署到分期
  • 我做一个VIP交换(新版本的生产,老版本变得登台)
  • 我关闭了暂存版本(不删除它),这种方式旧版本停止处理来自队列等的消息。如果我的逻辑改变了。

如果我想回滚,我只需重新打开旧部署并再次进行VIP交换。这种工作方式带有2备注:

  • 只能“回复”到以前版本的应用程序的
  • 你需要考虑到你可能已经改变外部资源(如SQL Azure中)和回滚应用程序可能中断,因为这种改变编辑的

修改我的回滚答案的链接到REST API

+0

如果用户添加了新的Web角色并想要在托管服务上的部署应用程序中更新它,则无法使用REST API。我正确吗? – Soni

+0

那么您可以使用Service Management API升级部署。但是,只有上传包含新Web角色的新软件包时才可以使用这些软件包:http://msdn.microsoft.com/en-us/library/windowsazure/ee460793 –

+1

对于回滚请按照链接http://social.msdn 。microsoft.com/Forums/en-US/windowsazuredevelopment/thread/90f889ae-ec07-4f28-b22d-d2ca4dc91c2c,它指定了回滚。指定如果有3个web角色的实例,1st&2nd是upgradeDomin1中的upgradeDomin0和3rd如果您对1和2,3rd应用新的更改是未触及的,那么您可以将1和2回滚到之前的状态。请提供您的输入 – Soni

1

通过@Sandrino很好的回答。只是想稍微扩展就地更新。 升级部署 REST API调用是用来更新角色的。正如Sandrino指出的那样,您仍然需要向上推送新的部署包(其中包括所有角色),但是您可以通过指定RoleToUpgrade元素的角色名称来指定仅升级整个包中的单个角色。

请参阅升级部署API调用中的this MSDN reference article

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

+0

+1对于RoleToUpgrade,没有注意到这之前,但可以做有趣的部分升级。这是否意味着您可以简单地保留其他角色? –

+0

是的 - 这是[改进的就地更新增强功能]的一部分(http://blogs.msdn.com/b/windowsazure/archive/2011/10/19/announcing-improved-in-place-updates.aspx ),这是在2011年10月宣布的。 –

+0

感谢@ SandrinoDiMattia,@大卫为您的宝贵投入..我真的很感激它。 – Soni

相关问题