Итак, я попробовал другой ответ, и команда вернулась без ошибок, но файлы на самом деле не были удалены.В итоге я написал скрипт, который перечислял исходные файлы на диске и очищал их.Вы можете указать только 50 сразу, поэтому мне пришлось адаптировать этот ответ:
Powershell разбивает длинный массив на массив с длиной N в одной строке?
Это немного специфично для того, что мне было нужно, поскольку на предыдущем шаге нужно сначала использовать azcopy, чтобы поместить файлы в хранилище ...
$currentDirectory = get-location | select -ExpandProperty Path
$files = ls ".\" -Recurse | select -ExpandProperty FullName | %{
$_.Replace($currentDirectory ,"\") } | %{ $_.Replace("\", "/") }
$counter = [pscustomobject] @{ Value = 0 }
$groups = $files | Group-Object -Property { [math]::Floor($counter.Value++ / 50) }
Import-Module azurerm
$profileName = "yourprofile"
$endpoint = "yourendpoint"
$profile = Get-AzureRmCdnProfile -ProfileName $profileName
$groups | %{
Unpublish-AzureRmCdnEndpointContent `
-EndpointName $endpoint `
-ProfileName $profileName `
-ResourceGroupName $profile.resourceGroupName `
-PurgeContent $_.Group
}
В зависимости от того, сколько у вас файлов, вы можетехочу использовать Start-Job, чтобы продвинуть его.Мне это пока не нужно, поскольку на звонок приходится около 5-10 секунд.
Надеюсь, это кому-нибудь поможет.