La piattaforma cloud Microsoft Azure si basa per moltissimi servizi sull'uso di Azure Blob Storage, il servizio geo distribuito di memorizzazione dei file, altamente affidabile e scalabile. E' l'ideale per posizionare qualunque tipo di file, piccolo o grande, ai quali accedere spesso o raramente. Per venire in contro a questa varietà di esigenze, il servizio dispone della possibilità di usufruire dei tier hot, cold e archive (script #100) per poter ottimizzare i costi in funzione della frequenza con cui ad essi accediamo.
Nella realtà dei fatti, però, i tier variano nel tempo, perché è esso il protagonista che determina quante volte accediamo al file. E' probabile dover necessitare di politiche che cambino il tier di un file dopo un periodo di tempo o che vadano definitivamente a cancellarlo. Lifecycle management policy è un meccanismo che permette di automatizzare tutto questo definendo un file json di azioni.
E' sufficiente disporre di un account v2 o di tipo blob e recarsi nella sezione Lifecycle Management.
![](https://www.cloudnativeitalia.com/script/images/125.jpg)
Il json che possiamo inserire contiene un array di rule ognuna delle quali filtra i blob, per indicare quali, e definisce le azioni da intraprendere. Supponendo di voler portare a livello cold e poi a livello archive dopo rispettivamente 30 e 90 giorni, il json può essere il seguente.
{ "version": "0.5", "rules": [ { "name": "myrule", "type": "Lifecycle", "definition": { "filters": { "blobTypes": [ "blockBlob" ], "prefixMatch": [ "mycontainer/" ] }, "actions": { "baseBlob": { "tierToCool": { "daysAfterCreationGreaterThan": 30 }, "tierToArchive": { "daysAfterModificationGreaterThan": 90 }, "delete": { "daysAfterModificationGreaterThan": 365 } }, "snapshot": { "delete": { "daysAfterCreationGreaterThan": 90 } } } } } ] }
Con prefixMatch definiamo il prefisso del nome per identificare i blob di nostro interesse, compreso il nome del container. Gli altri parametri prevedono un solo valore, ma in futuro verranno estesi. Nella sezione actions possiamo definire più azioni da applicare al baseBlob (quello principale) o agli snapshot effettuati. Le azioni, di nome tierToCool, tierToArchive e delete permettono di passare ad un altro tier o di eliminare definitivamente il file. L'operazione viene effettuata in base al numero dei giorni, mediante daysAfterCreationGreaterThan o daysAfterModificationGreaterThan, a seconda che vogliamo partire dalla data di creazione o di modifica.
Questa funzionalità è gratuita e non prevede costi aggiuntivi. Per maggiori informazioni rimandiamo alla documentazione ufficiale.
https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Eseguire operazioni sui blob con Azure Storage Actions
Generare token per autenicarsi sulle API di GitHub
Migrare una service connection a workload identity federation in Azure DevOps
Eseguire attività basate su eventi con Azure Container Jobs
Potenziare Azure AI Search con la ricerca vettoriale
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Sfruttare al massimo i topic space di Event Grid MQTT
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
C# 12: Cosa c'è di nuovo e interessante
Come migrare da una form non tipizzata a una form tipizzata in Angular