Potresti trovarti nella necessità di una soluzione economica ma efficiente per archiviare i tuoi file in un momento specifico, ma dove trovi quella soluzione? Dai un’occhiata al Binary Large Object (blob) storage di Microsoft Azure! Il Blob storage è uno dei servizi di archiviazione di Azure e ti consente di archiviare grandi quantità di file di dati di testo e binari, contenuti in streaming o persino contenuti statici per la distribuzione.
In questo tutorial, imparerai come lavorare con il Blob storage in Azure seguendo alcuni esempi comuni.
Continua a leggere per approfondire!
Prerequisiti
Questo tutorial sarà una dimostrazione pratica. Se desideri seguirci, assicurati di avere quanto segue installato e disponibile.
- PowerShell 7 installato.
- Modulo PowerShell Az installato nel tuo ambiente PowerShell 7.
- Eseguibile AzCopy scaricato e accessibile.
- Sottoscrizione Azure – Ci sono molteplici modi per utilizzare risorse specifiche di Azure a costo ridotto o nullo.
Costruzione di un ambiente Azure
Prima di utilizzare lo storage blob per memorizzare i tuoi file, dovrai prima importare i moduli di PowerShell Core, connetterti alla tua sottoscrizione Azure e costruire un ambiente Azure.
1. Avvia PowerShell 7 ed esegui il seguente comando per importare i moduli che utilizzerai per memorizzare i file nello storage blob.

2. Successivamente, accedi al tuo tenant di Azure Active Directory (AD), quindi esegui il comando qui sotto per completare un’autenticazione interattiva nel tuo browser web, come mostrato di seguito.
Sebbene al di fuori dell’ambito di questo tutorial, esistono altri metodi di autenticazione, come un Service Principal o l’uso di un token di accesso.

Assicurati sempre che l’inquilino e l’iscrizione mostrati dopo l’accesso siano quelli che intendi utilizzare. Se necessario, puoi cambiare il tuo contesto.
3. Ora esegui il comando seguente per creare un nuovo gruppo di risorse chiamato demo
, e aggiungici cinque numeri casuali (Get-Random -Maximum 99999
). I gruppi di risorse sono gerarchicamente inferiori alle iscrizioni e contengono risorse che consentono una gestione più granulare.
Nota che la -Posizione
del gruppo di risorse è impostata su Central US
per questo esempio. Quando il comando è completato, memorizza il risultato nella variabile $resourceGroup
.

4. Esegui il comando di seguito per eseguire i seguenti compiti e creare un nuovo account di archiviazione Azure. Per questo esempio, l’account di archiviazione viene chiamato storage e viene aggiunto un numero casuale di cinque cifre (Get-Random -Maximum 99999
). La variabile $storageAccount
conterrà l’oggetto restituito dopo il completamento del comando.

5. Esegui il comando di seguito per eseguire un paio di compiti per l’assegnazione del Ruolo Azure AD:
- Il valore
-SignInName
utilizza l’account con cui hai effettuato l’accesso tramite la proprietàUserID
restituita dal cmdletGet-AzAccessToken
. - Il valore di
-RoleDefinitionName
è il ruolo predefinito Storage Blob Data Contributor che stai assegnando. - Il valore di
-Scope
imposta la portata dell’assegnazione del ruolo per l’account di archiviazione che hai creato (storage10029 mostrato di seguito) tramite la proprietàId
della variabile$storageAccount
.
Puoi sempre fornire assegnazioni di ruolo più specifiche a singoli contenitori, se necessario.

6. Infine, esegui la serie di comandi di seguito per creare un file chiamato temp.dat nel tuo sistema locale. Caricherai e scaricherai questo file dall’account di archiviazione nelle sezioni seguenti per mostrare come funziona l’archiviazione di blob.

Caricamento dei file tramite PowerShell
Ora che hai creato un ambiente Azure e creato un file di esempio, iniziamo a caricare il file nello storage blob. Lo storage blob funziona in modo diverso rispetto ai filesystem standard. Ogni file nello storage blob è un oggetto e viene conservato all’interno dei contenitori.
La funzionalità principale dei blob è simile ad altri filesystem, ma ci sono casi d’uso in cui uno o l’altro potrebbe essere una soluzione migliore. I blob possono persino supportare filesystem virtuali (ad esempio, BlobFuse).
Microsoft offre diversi metodi per caricare file nei tuoi account di archiviazione tramite PowerShell, AzCopy e Azure Portal. Ma carichiamo il file di esempio (temp.dat) nello storage blob tramite PowerShell per iniziare. PowerShell ti consente un’esperienza coerente per lavorare con i tuoi account di archiviazione Azure.
Le azioni richieste per eseguire questa demo comporteranno costi. Monitora il consumo e elimina le risorse quando non hai più intenzione di usarle.
Esegui i comandi seguenti per creare un nuovo contenitore e caricare il file temp.dat ($file
) come un oggetto. Il contenitore è chiamato demo per questo esempio, ma puoi darli un nome diverso se preferisci.

Caricamento File tramite AzCopy
Forse hai casi d’uso più complessi, come sincronizzare contenuti o copiare contenuti tra account diversi su larga scala. In tal caso, lo strumento da riga di comando AzCopy è ciò di cui hai bisogno.
Esegui i comandi seguenti per effettuare l’accesso al tuo tenant Azure e copiare il tuo file locale ($file
) all’endpoint URL del tuo contenitore. Stai effettuando l’accesso al tenant Azure poiché AzCopy non è consapevole delle credenziali che stai utilizzando con PowerShell.

Se invece di caricare, preferisci scaricare file tramite AzCopy. In tal caso, esegui il comando seguente per
copiare
i file specificati (temp.dat
) dal tuo contenitore alla directory locale corrente:& .\azopy.exe copy "$($container.CloudBlobContainer.Uri.AbsoluteUri)/temp.dat" .\temp.dat
Caricamento File tramite il Portale di Azure
Se preferisci un metodo grafico per caricare i tuoi file, allora Azure Storage Explorer è quello che fa per te. Azure Storage Explorer è uno dei migliori metodi grafici per gestire la tua archiviazione blob. Puoi accedere all’esploratore di archiviazione dalla risorsa dell’account di archiviazione nel portale di Azure.
1. Apre il tuo browser web preferito e accedi all’Esploratore di Archiviazione nel Portale di Azure.
2. Fai clic sul contenitore demo sotto CONTENITORI BLOB, come mostrato di seguito, quindi fai clic su Carica per accedere alla lama Carica blob (pannello destro).
3. Ora fai clic sull’icona della cartella nel pannello Carica blob per selezionare quali file caricare (temp.dat).
4. Infine, fai clic su Carica (pulsante blu) per caricare il tuo file.

Una volta completato il caricamento, puoi chiudere la finestra Carica blob e visualizzare il tuo blob caricato, come nell’immagine sottostante.

Scaricare file tramite il portale di Azure
Come per l’upload di contenuti nello storage di blob, Azure supporta il download di contenuti in molti modi. Ma poiché hai appena caricato un file (temp.dat) tramite il portale di Azure, scarichiamo lo stesso file utilizzando Azure Storage Explorer nel portale di Azure.
Seleziona il file (temp.dat) da scaricare e fai clic sul pulsante Scarica in Azure Storage Explorer, come mostrato di seguito. Ciò aprirà una nuova finestra di dialogo per confermare il download che vedrai nel passaggio successivo.

Ora fai clic sul pulsante Fai clic qui per iniziare il download per scaricare i file selezionati.

Scaricare file tramite PowerShell
Come per l’upload di file, hai anche la possibilità di scaricare file dallo storage di blob eseguendo comandi in PowerShell. Con PowerShell, puoi elencare gli oggetti all’interno di un contenitore e quindi scaricarli.
Esegui i comandi seguenti per elencare tutti gli oggetti nel tuo contenitore e scaricare temp.dat nella tua directory locale.

Se preferisci utilizzare brevi link univoci per scaricare file, puoi utilizzare i token Shared Access Signature (SAS) per creare un collegamento preautorizzato per il download. Questi token sono unici e privati e puoi utilizzarli per verificare il tuo accesso.
Esegui i comandi seguenti per creare un nuovo link di download per il file (temp.dat
) che desideri scaricare. Il link di download generato scade dopo 10 secondi e scaricherà (Invoke-WebRequest $uri
) il contenuto utilizzando quel link nella variabile $temp
.

Ospitare una pagina Web su Internet pubblico da Archiviazione Blob
Fino a questo punto, hai visto casi d’uso di download di file da parte di utenti autenticati. Ma sapevi che l’archiviazione Blob può fornire un’ottima opzione anche per contenuti pubblici? Un esempio è utilizzare un blob per ospitare il contenuto della tua pagina web, cosa che realizzerai in questa demo.
Anche se i contenuti della tua pagina web sono crittografati sia in transito che a riposo, chiunque può accedere a quei contenuti se l’accesso pubblico è impostato.
Poiché stai configurando un caso d’uso diverso, utilizzerai uno dei principali vantaggi del cloud pubblico in termini di scala ed elasticità. Puoi creare un nuovo account di archiviazione per un caso d’uso specifico e limitare il rischio nell’utilizzo di contenitori pubblici.
1. Esegui il comando di seguito per creare un nuovo account di archiviazione come hai fatto nel passaggio quattro della sezione “Creazione di un ambiente Azure”. Ma questa volta, assegnerai l’oggetto restituito alla variabile $publicStorageAccount
.

Ora hai un account di archiviazione dedicato per i tuoi contenuti pubblici e puoi configurarlo per ospitare contenuti web statici con il seguente comando.
2. Successivamente, esegui il cmdlet Enable-AzStorageStaticWebsite
per configurare l’account di archiviazione ($publicStorageAccount
) per il tuo nuovo caso d’uso. Il parametro -IndexDocument
imposta la pagina web predefinita da mostrare agli utenti. Il parametro -Context
sarà il nuovo account di archiviazione appena creato.

3. Esegui i comandi di seguito per creare un nuovo documento HTML nella tua directory corrente e caricare quel documento nel contenitore specifico per l’hosting di contenuti web. Il tipo di contenuto viene impostato su HTML (ContentType="text/html"
), in modo che i browser web possano interpretare correttamente il documento.
Accedendo al documento su un browser web viene visualizzato il messaggio Hello from <nome dell’account di archiviazione>.

4. Ora esegui il seguente comando per ottenere l’URL a cui gli utenti possono accedere per visualizzare i tuoi contenuti.

5. Infine, apri l’URL nel tuo browser, vedrai qualcosa di simile alla seguente schermata.

Pulizia delle risorse
Ora che hai testato questi nuovi concetti sull’utilizzo dello storage blob, vorrai pulire le tue risorse. Perché? Farlo ti aiuta a mantenere pulita la tua sottoscrizione. Inoltre, smetti di incorrere in spese aggiuntive.
Dato che tutte le risorse utilizzate in questo tutorial si trovano in un singolo gruppo di risorse, puoi pulire tutte le risorse eliminando il gruppo di risorse.
Le risorse non saranno sempre contenute all’interno di un singolo gruppo di risorse, il che illustra perché un uso liberale della segmentazione logica può essere vantaggioso, specialmente durante i test o le iterazioni frequenti.
Esegui il cmdlet Remove-AzResourceGroup
di seguito, specificando la proprietà ResourceGroupName
della variabile $resourceGroup
per eliminare il gruppo di risorse e tutte le risorse al suo interno.

Conclusione
In questo tutorial, hai trattato il caricamento e il download di file da e verso blob nello storage cloud su piattaforme diverse. Hai anche appreso che è possibile ospitare una pagina web dallo storage blob a cui gli utenti possono accedere pubblicamente.
Puoi fare molto di più con lo storage di blob e altri tipi di storage, quindi come potresti sviluppare su questi concetti? Forse lavorare con account di archiviazione di file, fornire sistemi di file serverless o utilizzare i blob di pagina per i dischi rigidi virtuali con le macchine virtuali Azure?