Guida introduttiva: Caricare, scaricare ed elencare BLOB con PowerShell

Usare il modulo di Azure PowerShell per creare e gestire le risorse di Azure. È possibile creare o gestire risorse di Azure dalla riga di comando di PowerShell o negli script. Questa guida descrive l'uso di PowerShell per trasferire file tra un disco locale e l'archivio BLOB di Azure.

Prerequisiti

Per accedere ad Archiviazione di Azure è necessaria una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.

È anche necessario il ruolo collaboratore ai dati BLOB di Archiviazione per leggere, scrivere ed eliminare Archiviazione di Azure contenitori e BLOB.

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Per questa guida introduttiva è richiesto il modulo Azure PowerShell Az versione 0.7 o successiva. Eseguire Get-InstalledModule -Name Az -AllVersions | select Name,Version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere come installare il modulo Azure PowerShell.

Accedere ad Azure

Accedere alla sottoscrizione di Azure con il comando Connect-AzAccount e seguire le istruzioni visualizzate.

Connect-AzAccount

Se non si sa quale posizione usare, è possibile elencare le posizioni disponibili. Per visualizzare l'elenco di posizioni e trovare quella desiderata, usare il codice di esempio seguente. Questo esempio usa eastus. Archiviare la posizione in una variabile e usare la variabile in modo da poter eseguire la modifica in un'unica posizione.

Get-AzLocation | Select-Object -Property Location
$Location = 'eastus'

Creare un gruppo di risorse

Creare un gruppo di risorse di Azure con New-AzResourceGroup. Un gruppo di risorse è un contenitore logico in cui vengono distribuite e gestite le risorse di Azure.

$ResourceGroup = 'MyResourceGroup'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

Creare un account di archiviazione

Creare un account di archiviazione standard per uso generico con replica dell'archiviazione con ridondanza locale usando New-AzStorageAccount. Ottenere quindi il contesto che definisce l'account di archiviazione da usare. Quando si usa un account di archiviazione, si può fare riferimento al contesto anziché passare ripetutamente le credenziali. Usare l'esempio seguente per creare un account di archiviazione denominato mystorageaccount con archiviazione con ridondanza locale e crittografia BLOB (abilitata per impostazione predefinita).

$StorageHT = @{
  ResourceGroupName = $ResourceGroup
  Name              = 'mystorageaccount'
  SkuName           = 'Standard_LRS'
  Location          =  $Location
}
$StorageAccount = New-AzStorageAccount @StorageHT
$Context = $StorageAccount.Context

Creazione di un contenitore

Gli elementi BLOB vengono sempre caricati in un contenitore. È possibile organizzare i gruppi di BLOB in modo analogo a come si organizzano i file in cartelle sul computer.

Impostare il nome del contenitore e quindi creare il contenitore usando il comando New-AzStorageContainer. Il nome del contenitore in questo esempio è quickstartblobs.

$ContainerName = 'quickstartblobs'
New-AzStorageContainer -Name $ContainerName -Context $Context

Caricare i BLOB nel contenitore

L'archiviazione BLOB supporta BLOB in blocchi, BLOB di aggiunta e BLOB di pagine. I file VHD usati per il backup di macchine virtuali IaaS sono BLOB di pagine. Usare i BLOB di accodamento per la registrazione, ad esempio quando si vuole scrivere in un file e poi continuare ad aggiungere altre informazioni. La maggior parte dei file presenti nell'archiviazione BLOB è costituita da BLOB in blocchi.

Per caricare un file in un BLOB in blocchi, ottenere un riferimento a un contenitore e quindi un riferimento al BLOB in blocchi nel contenitore. Dopo aver creato il riferimento al BLOB, è possibile caricarvi i dati con Set-AzStorageBlobContent. Questa operazione consentirà di creare il BLOB se non esistente o di sovrascriverlo se esistente.

Gli esempi seguenti caricano Image001.jpg e Image002.png dalla cartella D:\Images sul disco locale nel contenitore creato.

# upload a file to the default account (inferred) access tier
$Blob1HT = @{
  File             = 'D:\Images\Image001.jpg'
  Container        = $ContainerName
  Blob             = "Image001.jpg"
  Context          = $Context
  StandardBlobTier = 'Hot'
}
Set-AzStorageBlobContent @Blob1HT
  
 # upload another file to the Cool access tier
 $Blob2HT = @{
  File             = 'D:\Images\Image002.jpg'
  Container        = $ContainerName
  Blob             = 'Image002.png'
  Context          = $Context
  StandardBlobTier = 'Cool'
 }
 Set-AzStorageBlobContent @Blob2HT
  
# upload a file to a folder to the Archive access tier
$Blob3HT = @{
  File             = 'D:\Images\FolderName\Image003.jpg'
  Container        = $ContainerName
  Blob             = 'FolderName/Image003.jpg'
  Context          = $Context
  StandardBlobTier = 'Archive'
}
Set-AzStorageBlobContent @Blob3HT


Caricare tutti i file desiderati prima di continuare.

Elencare i BLOB in un contenitore

Ottenere un elenco di BLOB nel contenitore usando Get-AzStorageBlob. Questo esempio mostra solo i nomi dei blob caricati.

Get-AzStorageBlob -Container $ContainerName -Context $Context |
  Select-Object -Property Name

Scaricare BLOB

Scaricare i BLOB sul disco locale. Per ogni BLOB da scaricare impostare il nome e chiamare Get-AzStorageBlobContent.

Questo esempio scarica i BLOB in D:\Images\Downloads sul disco locale.

# Download first blob
$DLBlob1HT = @{
  Blob        = 'Image001.jpg'
  Container   = $ContainerName
  Destination = 'D:\Images\Downloads\'
  Context     = $Context
}
Get-AzStorageBlobContent @DLBlob1HT

# Download another blob
$DLBlob2HT = @{
  Blob        = 'Image002.png'
  Container   = $ContainerName
  Destination = 'D:\Images\Downloads\'
  Context     = $Context  
}
Get-AzStorageBlobContent @DLBlob2HT

Trasferimento dati con AzCopy

L'utilità da riga di comando AzCopy offre il trasferimento dei dati di script a elevate prestazioni per Archiviazione di Azure. È possibile usare AzCopy per trasferire i dati da e verso Archiviazione BLOB e File di Azure. Per altre informazioni su AzCopy v10, la versione più recente, vedere Introduzione ad AzCopy. Per informazioni sull'uso di AzCopy v10 con archiviazione BLOB, vedere Trasferire dati con AzCopy e archiviazione BLOB.

Gli esempi seguenti usano AzCopy per caricare un file locale in un BLOB. Ricordarsi di sostituire i valori dell'esempio con i propri valori:

azcopy login
azcopy copy 'D:\Images\Image001.jpg' "https://$StorageAccountName.blob.core.windows.net/$ContainerName/NewGaphic.jpg"

Pulire le risorse

Rimuovere tutte le risorse create. Il modo più semplice per eseguire questa operazione consiste nell'eliminare il gruppo di risorse. Eliminando il gruppo di risorse vengono eliminate anche tutte le risorse che contiene. Nell'esempio seguente la rimozione del gruppo di risorse rimuove l'account di archiviazione e il gruppo di risorse stesso.

Remove-AzResourceGroup -Name $ResourceGroup 

Passaggi successivi

In questa guida di avvio rapido sono stati trasferiti file tra un file system locale e l'archivio BLOB di Azure. Per altre informazioni sull'uso dell'archiviazione BLOB con PowerShell, selezionare un'opzione di seguito.

Riferimenti cmdlet di archiviazione per Microsoft Azure PowerShell

Microsoft Azure Storage Explorer

  • Microsoft Azure Storage Explorer è un'app autonoma gratuita di Microsoft che consente di rappresentare facilmente dati di Archiviazione di Azure in Windows, macOS e Linux.