我正在尝试从azure存储帐户下载sme blob文件。
父容器中混合了其他容器和块状对象,我只需要下载块状对象而不是其他容器,我找不到将它们分开的方法,也需要从一个容器中下载一些块状对象。容器中的补充剂。
我的代码将下载父Blob中的所有内容,包括所有子容器。
$sub = "MySub"
$staccname = "straccname1234"
$key = "sdcsecurekeythinghere"
$ctx = New-AzureStorageContext -StorageAccountName $staccname `
-StorageAccountKey $key
$cont = "data\download\files.001" ##the container includes other cntainers and subcontainers
$dest = "C:\blb-Downloads"
Select-AzureSubscription -SubscriptionName $sub –Default
Set-AzureSubscription -Currentstaccname $staccname -SubscriptionName $sub
Get-AzureStorageBlob -Container $cont -Context $ctx
$blobs = Get-AzureStorageBlob -Container $cont -Context $ctx
$blobs | Get-AzureStorageBlobContent –Destination $dest -Context $ctx
[父Blob中大约有75个文件,数据\下载中有123个文件。
您不仅可以运行以下命令并将其限制为仅限BlockBlob吗?
Get-AzureStorageBlob -Container $cont -Context $ctx | ? {$_.BlobType -eq "BlockBlob"}
使用较新的Azure PowerShell Az module,您可以使用Get-AzStorageBlob
列出容器中的所有块Blob,然后使用Get-AzStorageBlob
下载这些Blob。
如Get-AzStorageBlobContent
所示,我们可以使用Get-AzStorageBlobContent
或其别名@George Wallace来过滤块Blob类型。
Demo:
Where-Object