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
Creare una libreria CSS universale: Immagini
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Gestire gli accessi con Token su Azure Container Registry
Combinare Container Queries e Media Queries
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Configurare e gestire sidecar container in Azure App Service
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Utilizzare Locust con Azure Load Testing
Generare una User Delegation SAS in .NET per Azure Blob Storage
Gestire i dati con Azure Cosmos DB Data Explorer