Nello script #186 abbiamo visto una delle ultime caratteristiche che sono state inserite nell'ormai consolidato servizio di Storage Blob della piattaforma di Microsoft Azure. Non è infatti l'unica, perché di recente sono state rilasciate funzionalità che rendono più semplice questo servizio e molto di più che un file system.
Nella stessa sezione Data protection, sempre attraverso il portale (e strumenti alternativi), è possibile attivare anche il versioning automatico dei blob.
Una volta attivato tutti i blob dell'account ricevono un id di versione ogni qual volta aggiungiamo, modifichiamo o un blob. L'id è visibile nelle operazioni di GET attraverso l'header x-ms-version-id e non è altro che un timestamp. Se modifichiamo un blob una nuova versione viene associata e il vecchio file rimane raggiungibile attraverso il precedente version id e indicando il parametro versionid in querystring nell'operazione di GET. In caso di cancellazione il file non è più visibile, ma è ancora raggiungibile attraverso le versioni precedenti. L'ultima, quindi, non sarà più recuperabile.
Il versioning automatico è per certi versi simile allo snapshot, ma quest'ultimo richiede un approccio manuale e più chiamate per raggiungere lo stesso scopo. Dall'altro lato però è più specifico e ci permette di indicare quali blob tenere da parte.
Possiamo usare il versioning contemporaneamente allo snapshot, seppure sconsigliato, oppure al soft delete, visto nello script #109, poiché non siamo al riparo da cancellazioni involontarie. Possiamo usare inoltre il lifecycle automatico (script #125) per portare le versioni da un pricing tier cool o archive per abbassare il costo dello storage. Se usiamo operazioni di update di singoli blocchi allora lo spazio imputato è relativo solo a quest'ultimo, diversamente, se sostituiamo l'intero blob o se lo spostiamo in un altro tier, l'intero spazio viene imputato.
Per maggiori informazioni e dettagli sul billing rimandiamo alla pagina specifica https://docs.microsoft.com/en-us/azure/storage/blobs/versioning-overview
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Semplificare il deployment di siti statici con Azure Static Web App
Creare alias per tipi generici e tuple in C#
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Utilizzare un service principal per accedere a Azure Container Registry
Utilizzare Model as a Service su Microsoft Azure
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Controllare gli accessi IP alle app con Azure Container Apps
Load test di ASP.NET Core con k6
Criptare la comunicazione con mTLS in Azure Container Apps
Inizializzare i container in Azure Container Apps
Elencare le container images installate in un cluster di Kubernetes
Sostituire la GitHub Action di login su private registry