3

我们在每个云服务中并行创建 2 个云服务和一个部署(VM 角色)。对于这两个请求(有时仅在 1 上),我们收到以下 409 Conflict 错误作为创建托管服务 POST 请求的响应:

409 ConflictError:Windows Azure 当前正在此托管服务上执行需要独占访问权限的操作。

在得到异常时,我们有一个清理调用,在重试时我们试图再次创建。每次重试时,我们都使用一个新的云服务名称。

每次我们使用 VM 并行调用创建 2 个云服务时,都会发生几次错误。并且在 2-15 次重试时,它的创建成功。但是,当我们使用 VM 调用 1 个云服务创建时,我们没有看到此错误。不确定为什么在同时创建期间会引发此错误。任何帮助将不胜感激。谢谢。

4

1 回答 1

0

唯一的方法是捕获错误并立即重试,这是 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;        
} 
于 2014-10-17T00:22:29.413 回答