2012-06-22 3 views
1

Хотелось бы узнать, как я могу обновить одну роль приложения развертывания в размещенной службе с использованием REST API.let, скажем, у меня есть 2 роли в сети и 1 рабочий, и я бы хотел обновить/обновить только один webrole из 2. Я знаю, что мы можем сделать это Azure Management Portal.Обновление приложения, развернутого в размещенном сервисе с использованием REST API

Также хотел бы знать, как работает откат в Azure.If мне нравится откатить приложение развертывания в предыдущем состоянии, можно ли откат?

ответ

1

Вы не можете изменить количество ролей с помощью API управления сервисом. Это возможно только при выполнении нового развертывания (это возможно с использованием API).

Единственное, что вы можете сделать, это изменение количества экземпляров с помощью ChangeConfiguration запрос: Change Deployment Configuration

Откат развертывания в предыдущее состояние можно using the REST API. То, что я, как правило, делают при развертывании новой версии является использование VIP свопа:

  • Я разворачивать новую версию своего приложения для постановки
  • я сделать VIP своп (новая версия становится производство, старая версия становится staging)
  • Я закрыл промежуточную версию (не удаляя ее), таким образом старая версия перестает обрабатывать сообщения из очередей и т. д., если моя логика изменится.

Если я хочу откатиться, я просто вернусь к старой установке и снова сделаю VIP-обмен. Такой способ работы с 2 замечания:

  • Вы только можете «вернуться» к предыдущей версии приложения
  • Вы должны принять во внимание, что вы, возможно, изменились внешние ресурсы (например, SQL Azure) и откат приложения может сломаться из-за этого изменения

Edit: Модифицированных мой откат ответ со ссылкой на REST API

+0

Если пользователь добавил новую веб-роль и захотел обновить ее в развернутом приложении на размещенной службе, это невозможно с помощью REST API. Я прав? – Soni

+0

Ну, вы можете обновить развертывание с помощью API управления сервисами. Но это возможно только при загрузке нового пакета, содержащего новую веб-роль: 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, указано, что для rollback.It указано, что если есть 3 экземпляра веб-роли, 1st & 2nd - upgradeDomin0 и 3rd в upgradeDomin1 .если вы применяете новые изменения к 1 и 2,3rd, нетронутый, тогда вы можете откат 1 и 2 до предыдущего состояния. Пожалуйста, укажите свои входы – Soni

1

Хорошего ответа на @Sandrino. Просто хотелось немного расширить на месте обновления. Обновление развертывания REST API-вызов - это то, что вы использовали для обновления роли. Как отметил Сандрино, вам все равно придется выдвинуть новый пакет развертывания (включая все роли), но затем вы можете указать, чтобы обновить только одну роль из всего пакета, указав имя роли для элемента RoleToUpgrade.

См. Сообщение this MSDN reference article о вызове API развертывания Upgrade.

EDIT: Все API REST также доступны с помощью командлетов PowerShell (можно загрузить here). Посмотрите на Set-AzureDeployment, у которого есть набор параметров . Обновление.

+0

+1 для RoleToUpgrade, не заметил это прежде, но может быть интересно сделать частичные обновления. Означает ли это, что вы можете просто оставить другие роли нетронутыми? –

+0

Yep - это часть [улучшенных улучшений на месте обновления] (http://blogs.msdn.com/b/windowsazure/archive/2011/10/19/announcing-improved-in-place-updates.aspx), которые были объявлены в октябре 2011 года. –

+0

Спасибо @ SandrinoDiMattia, @ Дэвид за ценные вклады .. Я очень ценю это. – Soni

Смежные вопросы