[Azure]:错误:Windows Azure当前正在此托管服务上执行需要独占访问的操作

时间:2014-07-23 15:11:29

标签: azure azure-cloud-services

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

  

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

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

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

1 个答案:

答案 0 :(得分: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;        
}