In molti scenari di utilizzo di Azure Blob Storage, è fondamentale poter accedere ai dati archiviati direttamente da un ambiente Linux, senza dover passare per interfacce web o processi di download manuale. Questo tipo di accesso risulta particolarmente utile in contesti di elaborazione distribuita, data analytics e backup automatizzati, dove l'integrazione diretta con il file system permette di trattare i blob container come normali directory locali.
BlobFuse2 è un driver di file system virtuale sviluppato per risolvere proprio questa esigenza, consentendo di montare i container di Azure Blob Storage su Linux attraverso l'uso delle REST API di Azure Storage e della libreria libfuse.
Una volta montato un container, diventa possibile eseguire comandi di mkdir, read, write e molte altre operazioni direttamente dalla shell, come se i dati risiedessero su un disco locale. Questo approccio semplifica l'interazione con lo storage su cloud e migliora l'efficienza operativa di molti flussi di lavoro in ambienti Linux.
Per installare BlobFuse2 su Ubuntu, è sufficiente configurare il repository Microsoft e installare il pacchetto:
sudo wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update sudo apt-get install libfuse3-dev fuse3
Installate le dipendenze possiamo installare BlobFuse2.
sudo apt-get install blobfuse2
Per altre distribuzioni, invece, rimandiamo alla guida ufficiale: https://learn.microsoft.com/en-us/azure/storage/blobs/blobfuse2-how-to-deploy
Fatto questo possiamo procedere alla creazione del file di configurazione, dove si specificano molti aspetti riguardanti il caching, i buffer ecc. Possiamo utilizzare questo file https://github.com/Azure/azure-storage-fuse/blob/main/setup/baseConfig.yaml come base di partenza o in alternativa procedere con la configurazione minima creando un file yaml come il seguente.
file_cache: path: /tmp/fuse azstorage: type: block account-name: ricciolo container: fuse mode: key account-key: ####
Quindi creiamo la cartella nella posizione dove vogliamo trovare l'intero container e lanciamo il comando.
mkdir /mnt/fuse blobfuse2 mount /mnt/fuse --config-file=./fuse.yaml
Fatto questo possiamo entrare nella cartella /mnt/fuse e agire nel container di Azure come un normale file system. Bisogna considerare alcune limitazioni come il fatto le operazioni di rename non sono atomiche e la gestione dei permessi POSIX non è completamente supportata.
Rimandiamo alla documentazione ufficiale https://learn.microsoft.com/en-us/azure/storage/blobs/blobfuse2-what-is per approfondire lo strumento.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Escludere alcuni file da GitHub Copilot
Come automatizzare il download dei report di billing da GitHub Enterprise
Modificare lo stile in una QuickGrid Blazor
Supportare la crittografia di ASP.NET Core con Azure Container App
Supporto semplificato per le left join in Entity Framework 10
Integrare OpenAI tramite Aspire
Effettuare un clone parziale di un repository di GitHub
Monitorare le tabelle di Azure SQL Database con Change Event Streaming
Controllare la telemetria con .NET Aspire
Utilizzare Intersect e Except per filtrare set di dati in TSql
Definire il metodo di rilascio in .NET Aspire
Utilizzare WebJobs su Linux con Azure App Service




