我们在每个云服务中并行创建2个云服务和一个部署(VM角色)。对于这两个请求(有时仅在1),我们收到以下409冲突错误作为创建托管服务POST请求的响应:
409 ConflictError:Windows Azure当前正在执行操作 在此托管服务上,需要独占访问。
在获得异常时,我们有一个清理调用,并且在重试时我们正在尝试再次创建。在每次重试时,我们都使用新的云服务名称。
每次我们调用VM并行创建2个云服务时,错误就会发生几次。在2-15次重试中,它的创建成功。但是,当我们使用VM调用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;
}