从azure blob容器的文件夹

时间:2017-11-01 10:07:31

标签: azure azure-storage-blobs

当我从Azure下载blob时:

$BlobName = "20171019/fac/file.jpg" 
Get-AzureStorageBlob -Container $ContainerName -Blob $BlobName

通过使用上述命令,我只获得单个文件。

Get-AzureStorageBlob -Container $ContainerName

通过使用这个我从容器中获取所有blob。

20171019是容器中的文件夹名称, 然后子文件夹fac

我的要求是从Fac文件夹下载所有blob。

2 个答案:

答案 0 :(得分:3)

我们应该使用此命令Get-AzureStorageBlobContent下载Azure存储blob。

如果要下载该容器中的所有blob,我们可以使用foreach来执行此操作,如下所示:

$RGName = "your resource group name"
$SAName = "your storage account name"
$ConName = "your container name"
$key = "your storage account key"
$Ctx = New-AzureStorageContext -StorageAccountName $SAName -StorageAccountKey $Key
$List = Get-AzureStorageBlob -prefix "20171019/fac/" -Container $ConName -Context $Ctx
$List = $List.name
foreach ( $l in $list ){
Get-AzureStorageBlobContent -Blob $l -Container $conname -Context $ctx
}

结果如下:

enter image description here

感谢Gaurav的建议,我将-perfix添加到该脚本中。

答案 1 :(得分:2)

除了Azure PowerShell之外,您还可以尝试AzCopy,它具有更好的性能。

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer/20171019/fac /Dest:C:\myfolder /SourceKey:key /S