2017-10-13 7 views
0

J'essaie de télécharger des fichiers sme blob à partir d'un compte de stockage azure.Télécharger le contenu blob du conteneur

Il y a un mélange d'autres conteneurs et blockblobs dans le conteneur parent, je dois télécharger seulement les blocksblobs et pas les autres conteneurs, je ne trouve pas de moyen de les séparer, aussi j'ai besoin de télécharger des blobs d'un conatiner dans un récipient.

Mon code va télécharger tout le contenu dans le blob parent, y compris tous les sous-conteneurs.

$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 

Il y a environ 75 fichiers dans le blob parent et 123 fichiers dans les données \ téléchargements.

Répondre

1

Ne pouvez-vous pas simplement exécuter ce qui suit et le limiter à BlockBlobs seulement?

Get-AzureStorageBlob -Container $cont -Context $ctx | ? {$_.BlobType -eq "BlockBlob"} 
+0

Je ne pense pas que cela fonctionnerait. Ce que OP cherche vraiment, c'est un moyen de télécharger des blobs à la racine d'un conteneur et non les blobs dans les dossiers virtuels à l'intérieur de ce conteneur. –