从 Azure 存储 Blob 中批量删除“x”天前的对象

0 powershell azure azure-blob-storage

我希望从天蓝色存储 blob 中删除早于“x”天的所有文件。我正在尝试以下代码但不起作用:

$StorageAccountName = '<name>'
$StorageAccountKey = '<key>'

$Ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
Get-AzureStorageBlob -Container "reports" -Context $Ctx -Blob *.csv
where {$_.LastModified -le (get-date).AddDays(-30) } | Remove-AzureStorageBlob
Run Code Online (Sandbox Code Playgroud)

我引用了以下文档,但查询不适用于条件删除。关联

Iva*_*ang 5

我建议您使用新的 azure powershell 模块AZ

安装新的 AZ 模块后,尝试以下代码:

$accountname="xx" 
$accountkey="xxx"
$ctx = New-AzStorageContext -StorageAccountName $accountname -StorageAccountKey $accountkey

Get-AzStorageBlob -Container "aa1" -Blob *.jpg -Context $ctx | where {$_.LastModified -le (Get-Date).AddDays(-1)} | Remove-AzStorageBlob
Run Code Online (Sandbox Code Playgroud)

代码运行后,您可以在azure门户上检查或使用Get-AzStorageBlobcmdlet查看是否所有指定文件都被删除。就我而言,所有日期 <“1 天前”的文件都将被删除。

在此输入图像描述