2

我想清除一个存储帐户,然后使用 AzCopy “还原”到它。

我清除昨晚的存储使用

$ctx = New-AzureStorageContext -StorageAccountName $storage -StorageAccountKey $key Get-AzureStorageContainer a* -Context $ctx | Remove-AzureStorageContainer -Force

然后使用 AzCopy 但得到;

The remote server returned an error: (409) Conflict. The specified container is being deleted. Try operation later.

我不想循环,试图再次创建存储。如何等待删除操作完成?

是否有 Get-AzureStorageContainer 状态?“删除?”

4

2 回答 2

4

是否有 Get-AzureStorageContainer 状态?“删除?”

不幸的是,没有。你只需要继续努力。

基于此处的文档:https ://msdn.microsoft.com/en-us/library/azure/dd179408.aspx

删除容器时,至少30秒内不能创建同名容器;如果服务仍在处理请求,则容器可能不可用超过 30 秒。在删除容器时,尝试创建同名容器将失败,状态码为 409(冲突),服务返回指示容器正在被删除的附加错误信息。在删除容器时,所有其他操作(包括对容器下的任何 blob 的操作)都将失败,状态码为 404(未找到)。

虽然他们说的是 30 秒,但根据容器中 blob 的数量,可能需要更长的时间。

其他替代方法是单独删除所有 blob,而不是删除容器。但是,由于每个删除都是一个单独的网络调用,因此该过程可能会运行更长的时间(并且容易出现网络故障),但它可以保证当您开始使用 AzCopy 时,容器将为空。

于 2016-01-12T16:07:52.390 回答
1

错误消息是否不足以给您相同的行为。您可以自己编写该 API。或者我错过了什么?

“正在删除指定的容器,请稍后尝试操作。”

于 2016-01-14T23:08:52.907 回答