我想从azure存储容器中删除所有文件,其中文件名包含test.zip
我能够获取所有文件并将它们导出到这样的文件:
$context = New-AzureStorageContext -StorageAccountName ACCOUNTNAME `
-StorageAccountKey ACCOUNTKEY
get-azurestorageblob -Container CONTAINERNAME `
-blob *test.zip `
-Context $context | Out-File c:\files\f.txt `
-width 500
使用remove-azurestorageblob
命令删除所有结果的最简单方法是什么?
答案 0 :(得分:6)
由于blob存储此时仅支持单个blob删除(即它不支持批量删除),因此您唯一的选择是从输出文件中读取单个blob并逐个删除blob。
根据您的评论,请尝试以下操作:
$context = New-AzureStorageContext -StorageAccountName "account name" -StorageAccountKey "account key"
Get-AzureStorageBlob -Container "containername" -blob *test.zip -Context $context | Remove-AzureStorageBlob
上面的脚本将首先列出匹配的blob,然后逐个删除它们。
答案 1 :(得分:2)
我在Octopus Deploy中使用Powershell为静态网站托管设置Azure 存储帐户时遇到了这个挑战。
这是我修复它的方法:
使用 Az module for Azure Powershell 我做了以下事情:
# Define Variables
$RESOURCE_GROUP_NAME = my-resource-group
$STORAGE_ACCOUNT_NAME = myapplication
# Get Storage Account Context
$STORAGE_ACCOUNT = Get-AzStorageAccount -ResourceGroupName $RESOURCE_GROUP_NAME -AccountName $STORAGE_ACCOUNT_NAME
$CONTEXT = $STORAGE_ACCOUNT.Context
# Remove all test.zip Files from the $web Storage Container
Get-AzStorageBlob -Container '$web' -Blob *test.zip -Context $CONTEXT | Remove-AzStorageBlob
或
# Remove all Files and Folders from the $web Storage Container
Get-AzStorageBlob -Container '$web' -Blob * -Context $CONTEXT | Remove-AzStorageBlob
Write-Host 'Removed all files and folders from the $web Storage Container'
仅此而已。
我希望这会有所帮助