[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;        
} 
Другие вопросы по тегам