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
Utilizzare Azure AI Studio per testare i modelli AI
Criptare la comunicazione con mTLS in Azure Container Apps
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Cambiare la chiave di partizionamento di Azure Cosmos DB
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Eseguire script pre e post esecuzione di un workflow di GitHub
Migrare una service connection a workload identity federation in Azure DevOps
Combinare Container Queries e Media Queries
Creare gruppi di client per Event Grid MQTT
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
I più letti di oggi
- La gestione delle date in .NET
- Eliminare i tag HTML
- Community Days 2021 - Online
- .NET Conference Italia 2022 - Track in presenza - Milano
- FastCGI Extension for IIS6.0 in RTM
- ASPItalia.com Future Web Conference: 15 gennaio 2008, L'Aquila
- Dal MIX08 la Preview2 di ASP.NET MVC
- Ufficiali Visual Studio 2010 e .NET Framework 4.0
- Hunter Stone 'regala' Web.Config Editor
- SQL Server CE 4.0 supporterà ASP.NET