gpt4 book ai didi

azure - 无法通过 Powershell 删除 Azure 存储目录

转载 作者:行者123 更新时间:2023-12-03 05:55:43 25 4
gpt4 key购买 nike

我正在尝试使用 Powershell 删除 Azure 存储目录:-

# the Context is already set correctly, not showing it here though    
if( $myshare -eq $null )
{
$myshare=New-AzureStorageShare -Name "share" -Context $context
}
Remove-AzureStorageDirectory -ShareName "share" -Path "mycontainer/mydir/dir1" -Context $context -Confirm:$false

我收到以下错误:-

Remove-AzureStorageDirectory : The remote server returned an error: (404) Not Found. HTTP 
Status Code: 404 - HTTP Error Message: The specified parent path does not exist.
At C:\test.ps1:21 char:1
+ Remove-AzureStorageDirectory -ShareName "share" -Path "mycontainer/my ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Remove-AzureStorageDirectory], StorageException
+ FullyQualifiedErrorId : StorageException,Microsoft.WindowsAzure.Commands.Storage.File.Cmd
let.RemoveAzureStorageDirectory

这就是我尝试删除的文件夹 (dir1) 在我的存储中的存在方式:-

mycontainer/mydir/dir1

所以这条路非常存在。我不确定它会期待什么。

最佳答案

带有 ShareNamePath 参数的 Remove-AzureStorageDirectory cmdlet 能够按预期删除路径中的特定文件夹。

唯一一次我能够重现与您所遇到的完全相同的错误消息是当我故意使用错误的父文件夹时,这是存储文件共享下的根文件夹。

确保存储文件共享下的父文件夹确实是“mycontainer”。

注意:使用 Azure PowerShell 3.4.0(2017 年 1 月)进行测试

更新1:

根据评论中提供的 URL ( https://mystorageaccount.blob.core.windows.net/mycontainer/mydir/dir1/ ),用户的“文件夹”位于存储 Blob 下而不是文件共享下,这显然就是上面的 cmdlet 不起作用的原因。

更新2

下面的 PowerShell 命令将删除“dir1”下的所有 blob

Get-AzureStorageBlob -Container "mycontainer" -blob "*dir1/*" -Context $context | ForEach-Object {Remove-AzureStorageBlob -Blob $_.Name -Container "mycontainer" -Context $context}

注意:删除上面与文件共享相关的代码,因为它们不相关

关于azure - 无法通过 Powershell 删除 Azure 存储目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41906997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com