使用Powershell检索Azure Blob元数据

时间:2019-06-13 12:47:36

标签: azure powershell azure-devops export-to-csv

如何使用powershell检索blob文件夹内容(例如名称,大小等)的元数据并将其导出为CSV?

1 个答案:

答案 0 :(得分:0)

假设您已经安装了天蓝色的powershell az module(如果您正在使用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