[Azure]: ошибка: Windows Azure в настоящее время выполняет операцию с этой размещенной службой, которая требует эксклюзивного доступа
Мы создаем 2 облачных сервиса параллельно с одним развертыванием (VM Role) в каждом облачном сервисе. Для обоих запросов (иногда только для 1) мы получаем следующую ошибку 409 Conflict в ответ на создание POST-запроса размещенной службы:
409 ConflictError: Windows Azure в настоящее время выполняет операцию с этой размещенной службой, которая требует эксклюзивного доступа.
При получении исключения у нас есть вызов очистки и при повторной попытке мы пытаемся создать снова. При каждой повторной попытке мы используем имя нового облачного сервиса.
Ошибка возникает несколько раз, каждый раз, когда мы запускаем создание двух облачных сервисов с виртуальной машиной параллельно. И через 2-15 попыток его создание успешно завершено. Однако, когда мы вызываем 1 создание облачного сервиса с VM, мы не видим эту ошибку. Не уверен, почему эта ошибка выдается при одновременном создании. Любая помощь будет принята с благодарностью. Благодарю.
1 ответ
Единственный способ - поймать ошибку и повторить попытку, это ограничение Windows Azure. Azure требует, чтобы большинство запросов было сериализовано.
Как-то так, вы можете изменить Stop-AzureVM
к вашей команде требуется эксклюзивный доступ.
$error.Clear();
Stop-AzureVM -Name $VMName -ServiceName $CloudServiceName -Force
$retryCount=0;
while($error[0].Exception.Message.Contains("ConflictError") -and $retryCount -le 10)
{
Start-Sleep -Seconds 180
Stop-AzureVM -Name $VMName -ServiceName $CloudServiceName -Force
$retryCount = $retryCount + 1;
}