1

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

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

4

2 回答 2

1

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

请参阅有关升级部署 API 调用的MSDN 参考文章。

编辑:所有 REST API 也可通过 PowerShell cmdlet 获得(可在此处下载)。看一下Set-AzureDeployment,它有一个Upgrade参数集。

于 2012-06-22T12:13:21.420 回答
1

您无法使用服务管理 API 修改角色数量。这只能通过进行新的部署来实现(这可以使用 API 实现)。

您唯一能做的就是使用ChangeConfiguration请求修改实例数量:更改部署配置

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

  • 我将我的应用程序的新版本部署到暂存
  • 我进行 VIP 交换(新版本变为生产,旧版本变为暂存)
  • 我关闭了暂存版本(不删除它),这样旧版本停止处理来自队列等的消息。如果我的逻辑发生了变化。

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

  • 您只能“恢复”到应用程序的先前版本
  • 您需要考虑到您可能已经更改了外部资源(如 SQL Azure)并且回滚应用程序可能会因为此更改而中断

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

于 2012-06-22T11:28:05.017 回答