当我从Azure下载blob时:
$BlobName = "20171019/fac/file.jpg"
Get-AzureStorageBlob -Container $ContainerName -Blob $BlobName
通过使用上述命令,我只获得单个文件。
Get-AzureStorageBlob -Container $ContainerName
通过使用这个我从容器中获取所有blob。
20171019
是容器中的文件夹名称,
然后子文件夹fac
。
我的要求是从Fac
文件夹下载所有blob。
答案 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
}
结果如下:
感谢Gaurav的建议,我将-perfix
添加到该脚本中。
答案 1 :(得分:2)
除了Azure PowerShell之外,您还可以尝试AzCopy,它具有更好的性能。
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer/20171019/fac /Dest:C:\myfolder /SourceKey:key /S