Gli Azure Storage Blob sono un servizio che permette di depositare file nel cloud in tutta sicurezza e con tutte le funzionalità di scalabilità offerte dalla piattaforma di cloud di Microsoft. Sono in grado di reggere migliaia di richieste al secondo e godono di ottime prestazioni.
Essendo interrogabili via REST e in particolare via GET per ottenere i file, essi sono sottoposti a tutti i meccanismi HTTP. Tra questi possiamo sfruttare l'header Cache che permette di dare indicazioni a chi riceve il file riguardante la validità del file appena ricevuto e quale tipologia di cache è supportata. Questo header è utile soprattutto ai browser che devono caricare per esempio un'immagine, i quali sanno gestire questo header memorizzando l'immagine nel disco dell'utente. In questo modo, a parità di URI, il browser eviterà di interrogare lo storage di Azure, portando benefici all'utente e a noi. All'utente perché riceverà una visualizzazione immediata, a noi perché evitiamo una transazione e traffico in meno.
Per fare questo dobbiamo valorizzare alcune proprietà speciali del blob o dell'intero container. Il metodo più comodo è quello di usare alcuni tool come Cloud Storage Studio, ma possiamo realizzare la stessa cosa, ed eventualmente anche automatizzarla, attraverso gli SDK di ogni linguaggio. Nel caso di .NET possiamo sfruttare la proprietà Properties.CacheControl di CloudBlob e valorizzarla come segue.
CloudBlob blob = client.GetBlobReference("test.txt"); // Cache di un anno blob.Properties.CacheControl = "public, max-age=31536000"; blob.SetProperties();
Nell'esempio impostiamo una cache pubblica della durata di un anno (in secondi). E' importante infine persistere la modifica chiamando il metodo SetProperties.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Scenari di test avanzati con ASP.NET Core
Configurare EF Core 6 con le minimal API di ASP.NET
Associare Application Insights ad una Web App tramite Azure ARM
Utilizzare WordPress con Azure App Service
Bypassare l'esecuzione di una GitHub Action su branch protetti
Migrare da Azure DevOps a GitHub
Esecuzione a matrici nei workflow di GitHub Action
Continuous Deployment tramite GitOps
Gestire le chiamate a servizi esterni in ASP.NET Core e Blazor tramite Polly
Utilizzare proprietà di tipo DateOnly con EF Core 6
Iniettare servizi in un hosted service di ASP.NET Core
Azure Functions e OpenAPI: la coppia perfetta!
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- YARP: un reverse proxy in ASP.NET Core
- Whidbey, Yukon e Longhorn su MSDN