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.
![](https://www.cloudnativeitalia.com/script/images/187.jpg)
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
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Generare una User Delegation SAS in .NET per Azure Blob Storage
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Utilizzare DeepSeek R1 con Azure AI
Utilizzare l nesting nativo dei CSS
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Configurare e gestire sidecar container in Azure App Service
Potenziare la ricerca su Cosmos DB con Full Text Search
Gestire i dati con Azure Cosmos DB Data Explorer
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Applicare un filtro per recuperare alcune issue di GitHub
Assegnare un valore di default a un parametro di una lambda in C#