Извлекайте метаданные голубых блогов с помощью Powershell - PullRequest
0 голосов
/ 13 июня 2019

Как получить метаданные содержимого папки BLOB-объектов (например, имя, размер и т. Д.) С помощью powershell и экспортировать их как CSV?

1 Ответ

0 голосов
/ 14 июня 2019

Предположим, у вас установлен Azure PowerShell модуль Az (также вы можете изменить код, если вы используете модуль AzureRm).

Есть 2 метода:

Метод 1 : Использовать PSCustomObject. Пример кода, как показано ниже:

    $accountname="xxx"
    $accountkey="xxx"
    $ctx = New-AzStorageContext -StorageAccountName $accountname -StorageAccountKey $accountkey
    $myblobs = Get-AzStorageBlob -Container "aa1" -Context $ctx

    $Output = $myblobs | ForEach-Object {
    [PSCustomObject]@{
    "Name" = $_.Name
    "Length" =$_.Length
    }
    }

$Output | Export-Csv "d:\temp\test2.csv" -NoTypeInformation

Метод 2 : Используйте psobject. Пример кода, как показано ниже, сохраните сгенерированный файл в папку "d: \ temp \ test2.csv":

$accountname="xxx"
$accountkey="xxx"
$ctx = New-AzStorageContext -StorageAccountName $accountname -StorageAccountKey $accountkey
$myblobs = Get-AzStorageBlob -Container "aa1" -Context $ctx

$i=0

foreach($b in $myblobs)
{
$i++

if($i -eq 1)
{
$obj = New-Object psobject
$obj | add-member -membertype NoteProperty -name "Name" -value $b.name

#the length unit is byte
$obj | add-member -membertype NoteProperty -name "Length" -value $b.length
 $obj | Export-Csv "d:\temp\test2.csv" -NoTypeInformation
}
else
{
$obj = New-Object psobject
$obj | add-member -membertype NoteProperty -name "Name" -value $b.name
$obj | add-member -membertype NoteProperty -name "Length" -value $b.length
 $obj | Export-Csv "d:\temp\test2.csv" -NoTypeInformation -Append
}

}

Результат теста, как показано ниже:

enter image description here

...