Сокращение каталога файлов хранилища Azure / удаление файла хранилища Azure с использованием подстановочного суффикса - PullRequest
0 голосов
/ 21 января 2019

Я пишу сценарий Powershell для ежемесячной очистки файлов в общей папке Azure.

В идеале я хотел бы, чтобы один скрипт просто урезал каталог / местоположение файла. Но согласимся на удаление каждого файла в отдельности.

Ежемесячно загружается около 20 файлов, каждый файл имеет уникальное имя и метку даты и времени в качестве суффикса, включенного в имя файла. например filename_20190121123515

Мне удалось удалить файл с использованием полного имени, но для суффикса datetime необходимо использовать подстановочные значения.

Каков правильный синтаксис того, чего я пытаюсь достичь? Или как бы обрезать всю папку?

$context = New-AzStorageContext -StorageAccountName "AccountName" -SasToken 
"?sv=2015-12-11&si=bss-15D97F9B09D&sr=s&sig=xxxxxxxxxxxxxxxxxxxxx" 
Remove-AzStorageFile -ShareName "bss" -Path 
"root/Temp_Clean_up_test_Folder/FileName_%%%%%%%%%%%%%%.csv" -Context 
$context

$context = New-AzStorageContext -StorageAccountName "AccountName" -SasToken 
"?sv=2015-12-11&si=bss-15D97F9B09D&sr=s&sig=xxxxxxxxxxxxxxxxxxxxx" 
Remove-AzStorageFile -ShareName "bss" -Path 
"root/Temp_Clean_up_test_Folder/FileName_*" -Context $context

1 Ответ

0 голосов
/ 22 января 2019

Командлет Remove-AzStorageFile не поддерживает подстановочные знаки, необходимо использовать метод цикла для удаления файлов один за другим.

Пример кода, как показано ниже:

$context = New-AzStorageContext -StorageAccountName "AccountName" -SasToken "xxx"

# Since the file name has date, you can specify which date to be deleted.
# In this sample, we try to delete the files' name contains 201901

$pattern ="201901"

# iterate all the files, and delete    
Get-AzStorageFile -ShareName "testfolder" -Path "t1/t1sub" -Context $context | Get-AzStorageFile | where {($_.GetType().Name
 -eq "CloudFile") -and ($_.Name -like "*$pattern*")} | Remove-AzStorageFile

Перед удалением:

enter image description here

После удаления (удаляются все файлы, имя которых содержит «201901»):

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...