Политика управления жизненным циклом Azure: Проблема Powershell

#azure

Вопрос:

Допустим, моя учетная запись хранения содержит более 200 контейнеров, к которым мне нужно применить политику управления жизненным циклом. Мой подход изначально состоял в том, чтобы сделать */blob Name . Однако после подробного прочтения документа MS я понял, что подстановочный знак на самом деле не будет применять политики ко всем контейнерам. Кроме того, существует ограничение по правилам для учетной записи 100/хранения с 10 префиксами в каждом.

Поэтому я решил разделить свой контейнер на партии по 10 штук и применить к ним правила. Вот что я делаю.

Разделение моего контейнера с помощью приведенной ниже функции:

 function Split-Array{
param($inArray,[int]$parts,[int]$size)
 
  if ($parts) {
    $PartSize = [Math]::Ceiling($inArray.count / $parts)
  }
  if ($size) {
    $PartSize = $size
    $parts = [Math]::Ceiling($inArray.count / $size)
  }

  $outArray = @()
  for ($i=1; $i -le $parts; $i  ) {
    $start = (($i-1)*$PartSize)
    $end = (($i)*$PartSize) - 1
    if ($end -ge $inArray.count) {$end = $inArray.count}
    $outArray =,@($inArray[$start..$end])
  }
  return ,$outArray

}
 

Теперь у меня есть около 20 массивов с 10 контейнерами в каждом массиве.

Это то, что я пытаюсь сделать

 $rulelist=@()

    for($i=0;$i-lt $testarray.Count){

      foreach($array in $testarray){
        $arrayjoined = $array -join ','
        $filter = New-AzStorageAccountManagementPolicyFilter -PrefixMatch $arrayjoined
        $rulelist = New-AzStorageAccountManagementPolicyRule -Name "rule-$i" -Action $action -Filter $filter   
        $i  

    }
    $i=999;
  }
 

Однако, похоже, я не могу добавить объект правила в массив, так как метод недействителен.

В конце мой сценарий должен дать мне сводное правило, которое выглядит примерно так

 $finalrule = $rule1,$rule2,......,$rule20
 

Есть ли способ достичь этого?