Azure Blob Storage Service: Introduzione al Prodotto

Microsoft Azure

Autore: Attilio Gelosa

 

Come descritto nell’articolo introduttivo, Azure Storage mette a disposizione quattro servizi che coprono esigenze diverse:

 

  • Blob Storage Service: servizio che permette di memorizzare e manipolare file alla stregua di un file system.
  • Table Storage Service: servizio che permette di memorizzare le informazioni in forma tabellare come coppie chiave/valore, in modo simile a un DBMS.
  • Queue Storage Service: servizio che mette a disposizione una coda FIFO dove memorizzare e manipolare messaggi.
  • File Storage Service: servizio che implementa il protocollo SMB per applicazioni legacy.

 

In questo articolo parleremo di come usare il portale di amministrazione di Azure (qui) per interagire con Blob Storage Service.

 

Azure Blob Storage Service

Blob Storage Service è l’acronimo di Binary Large Object Storage Service. Questo acronimo da una parte spiega un concetto importante, ossia che Blob Storage Service permette di memorizzare, modificare e cancellare oggetti binari e quindi file di qualsiasi tipo, ma dall’altro è un poco fuorviante per via dell’aggettivo “Large”. Blob Storage può infatti gestire oggetti di grandi dimensioni (come per esempio file multimediali, log, ISO, eccetera), ma può tranquillamente gestire oggetti di medie e piccole dimensioni (come per esempio file di testo, fogli di calcolo e altro). Insomma, la flessibilità è grande e può quindi essere usato senza problemi in molte situazioni.

 

Blob Storage dà la possibilità di lavorare con tre tipi di blob che hanno finalità differenti tra loro:

 

  • Block blobs: permette di gestire blob da usare per operazioni di lettura, dato che non è possibile modificare il contenuto del blob stesso se non riscrivendolo interamente; ciascun blob può contenere fino a un massimo di 50000 blocchi ciascuno dei quali lungo al massimo 4 MB. Ne consegue che i block blob possono arrivare alla dimensione massima di circa 195,3 GB.
  • Append blobs: permette di gestire in modo efficiente le operazioni di scritture alla fine del blob (operazione solitamente chiamata di “append”), molto utile per esempio nella gestione di log. Non sono previste operazioni di modifica o cancellazione all’interno del blob. Anche in questo caso la dimensione massima raggiungibile è di circa 195,3 GB.
  • Page blobs: permette di gestire il blob come insieme di pagine da 512 byte ed è specificamente pensato per operazioni di lettura e scrittura random all’interno del blob. In questo caso la dimensione massima raggiungibile è di 1 TB.

 

Per avere maggiori informazioni sui tre tipi di blob si può leggere questo articolo.

 

Per poter lavorare con Blob Storage è necessario creare un container. Che cosa è un container? Possiamo immaginarlo come una sorta di root directory sotto la quale è possibile salvare le informazioni. Alcune note:

 

  • A differenza di una “vera” root directory, all’interno di uno Storage Account potremo creare più container che vivranno side-by-side senza influenzarsi vicendevolmente.
  • All’interno di un container è possibile non solo salvare qualsiasi tipo di file, ma anche creare una struttura di directory con cui organizzare i file.
  • Il container, così come ogni altro file in esso contenuto, possiede delle proprietà alcune delle quali possono essere manipolate.

Uso di Azure Blob Storage Service Tramite Portale

Vediamo ora come interagire con Blob Storage Service attraverso il portale di amministrazione di Microsoft Azure (qui). Mettiamo subito in chiaro una cosa: purtroppo dalla sezione del portale di amministrazione per il Blob Storage Service non è possibile in nessun modo fare l’upload di un file né creare directory; capisco che i progettisti di Azure abbiano fatto le loro riflessioni e abbiano avuto le loro buonissime ragioni, ma personalmente ritengo questo dettaglio una manchevolezza che sperò sarà risolta in futuro.

 

Accesso a Blob Storage Service

Per accedere a un Blob Storage Service sono sufficienti due semplici click, uno per selezionare lo Storage Account desiderato e uno sulla tile “Blobs”, come mostra la figura 1.

 

2016_04_29_BlobStorage_01
Figura 1 – Accesso a Blob Storage Service

 

Si aprirà una nuova lama che permette di interagire con Blob Storage Service, figura 2.

 

2016_04_29_BlobStorage_02
Figura 2 – Lama di un Blob Storage Service

 

Creazione di un Container

Per creare un container è sufficiente fare click sul bottone Container, come mostra la figura 3.

 

2016_04_29_BlobStorage_03
Figura 3 – Creazione di un nuovo container

 

Si aprirà una nuova lama che permette di impostare i seguenti valori:

 

  • Name: il nome del container; le regole per scegliere il nome sono le seguenti: può contenere solo lettere minuscole, numeri e trattini “-“, deve cominciare con una lettera o un numero e ha una lunghezza variabile tra 3 e 63 caratteri.
  • Access type: il livello di accesso che vogliamo garantire al container; abbiamo i seguenti valori:
    • Private: il container e i contenuti non possono essere letti con un accesso anonimo ed è quindi necessario avere le credenziali complete per accedere alle informazioni.
    • Blob: solo i contenuti del container posso essere letti in modo anonimo. Per accedere alle proprietà del container o listarne il contenuto è necessario avere le credenziali complete.
    • Container: il container, i contenuti e le proprietà possono essere letti in modo anonimo.

 

L’Access Type è un parametro molto importante perché influenza in modo forte l’accessibilità ai dati tramite un browser (indifferentemente che si stia usando il protocollo http o https). Questo per esempio significa che se impostiamo il valore a Private e cerchiamo di accedere a una risorsa tramite browser senza autenticarci atterremo un “http 404 error”.

 

Una volta impostati i dati, è sufficiente premere il bottone Create per creare il nuovo container, come mostra la figura 4.

 

2016_04_29_BlobStorage_04
Figura 4 – Parametri di configurazione di un nuovo container

 

Visualizzazione delle Proprietà di un Container

Per visualizzare le proprietà di un container abbiamo due possibilità:

 

  • Fare click destro sulla riga del container presente nella lama del Blob Storage Service o in qualunque punto della lama del container per aprire il menu contestuale e selezionare la voce Properties.
  • Fare click sul bottone Properties sulla lama corrispondente al container prescelto.

 

2016_04_29_BlobStorage_05
Figura 5 – Accesso alle proprietà di un container

 

Si aprirà una lama contenente le proprietà in sola lettura del container, come mostra la figura 6.

 

2016_04_29_BlobStorage_06
Figura 6 – Proprietà di un container

 

Modifica dell’Access Type di un Container

Abbiamo due modi per modificare l’Access Type di un container dopo che questo è stato creato:

 

  • Fare click destro sulla riga del container presente nella lama del Blob Storage Service o in qualunque punto della lama del container per aprire il menu contestuale e selezionare la voce Access policy.
  • Fare click sul bottone Access policy sulla lama corrispondente al container prescelto.

 

2016_04_29_BlobStorage_07
Figura 7 – Modifica dell’Access type di un container

 

Si aprirà una lama che permette di modificare l’Access type del container, come mostra la figura 8; per modificarlo è sufficiente scegliere il nuovo livello di accesso dal menu a tendina e fare click sul bottone Save.

 

2016_04_29_BlobStorage_08
Figura 8 – Modifica dell’Access type di un container

 

Cancellazione di un Container

Per cancellare un container è possibile scegliere la voce Delete dal menu contestuale che si apre facendo click destro sulla riga del container, come mostra la figura 9.

 

2016_04_29_BlobStorage_09
Figura 9 – Cancellazione di un container

 

Un’altra opzione è premere il bottone Delete sulla lama corrispondente al container prescelto. In entrambe i casi si aprire una finestra per una conferma finale; confermando, il container e tutti i contenuti saranno definitivamente e irrimediabilmente cancellati – figura 10.

 

2016_04_29_BlobStorage_10
Figura 10 – Cancellazione di un container

 

Accesso alle Proprietà di un Blob

Per accedere alle proprietà di un blob è sufficiente fare click sulla riga del file desiderato; si aprirà una nuova lama con le proprietà in sola lettura – figura 11.

 

2016_04_29_BlobStorage_11
Figura 11 – Proprietà di un blob

 

Download di un Blob

Per fare il download di un blob è possibile fare click destro sul blob per aprire il menu contestuale e scegliere la voce Download o fare click sul bottone Download sulla lama delle proprietà del blob; in entrambi i casi il blob scelto sarà aperto all’interno del browser, come mostra la figura 12.

 

2016_04_29_BlobStorage_12
Figura 12 – Download di un blob

 

Cancellazione di un Blob

Per cancellare un blob è possibile fare click destro sulla riga del blob per aprire il menu contestuale e scegliere la voce Delete o fare click sul bottone Delete sulla lama delle proprietà del blob, come mostra la figura 13.

 

2016_04_29_BlobStorage_13
Figura 13 – Cancellazione di un blob

 

In entrambi i casi si aprirà una finestra che chiederà una conferma; per cancellare definitivamente il blob è necessario confermare l’operazione – figura 14.

 

2016_04_29_BlobStorage_14
Figura 14 – Cancellazione di un blob

 

Conclusioni

In questo articolo si è descritto come è possibile lavorare con uno Blob Storage Service di Microsoft Azure attraverso il portale di amministrazione di Azure. Come si è visto utilizzare il portale di amministrazione è sicuramente agevole, ma manca di alcune funzionalità anche fondamentali che sicuramente in futuro saranno implementate.

 

Nei prossimi articoli vedremo come eseguire le stesse operazioni usando gli strumenti messi a disposizione da Visual Studio o programmaticamente con C#.