fer*_*ega 4 powershell azure azure-storage
我正在创建一个PowerShell脚本来执行几个步骤,其中一个步骤涉及删除Azure存储容器:
Remove-AzureStorageContainer ....
Run Code Online (Sandbox Code Playgroud)
下一步是依赖于此删除完成.
如何才能知道先前的REMOVE已成功执行,以便继续执行下一步?
就像是;
while(Test-AzureStorageContainerExist "mycontainer")
{
Start-Sleep -s 100
}
<step2>
Run Code Online (Sandbox Code Playgroud)
不幸的是,"Test-AzureStorageContainerExist"似乎不可用.:)
您可以请求存储容器列表并查找特定存储容器,并等待,直到不再返回.如果帐户中没有大量容器,这可以正常工作.如果它确实有很多容器,那么这根本就没有效率.
while (Get-AzureStorageContainer | Where-Object { $_.Name -eq "mycontainer" })
{
Start-Sleep -s 100
"Still there..."
}
Run Code Online (Sandbox Code Playgroud)
Get-AzureStorageContainer cmdlet还采用-Name参数,您可以执行循环请求返回它; 但是,当容器不存在时,它会抛出一个错误(找不到资源)而不是提供一个空的结果,所以你可以捕获该错误并知道它已经消失(确保显式查找Reource Not found vs a timeout)或类似的东西).
更新:另一个选项是直接为get容器属性调用REST API,直到获得404(未找到).这意味着容器已经消失.http://msdn.microsoft.com/en-us/library/dd179370.aspx
归档时间: |
|
查看次数: |
7411 次 |
最近记录: |