Le macchine virtuali di Azure, siano esse virtual machine o cloud service, sono un servizio gestito completamente da Microsoft che sfruttano i file VHD per memorizzare i dischi sull'infrastruttura di storage di Azure. Questo significa che godiamo di tutti i benefici offerti dallo storage, come gli snapshot e i backup automatici. Tramite gli Azure Disk possiamo poi avere più dischi e scrivere i nostri file. A tutto questo c'è però un limite: solo una VM può usare lo stesso disco.
Ci sono scenari in cui le VM devono condividere file tra di loro e in questi casi possiamo sfruttare un servizio introdotto recentemente di nome Azure File. Essi danno la possibilità di accedere ad uno storage utilizzando il protocollo SMB 2.1, il quale è ampiamente sfruttato nelle share di rete per permettere a più PC di operare su uno stesso storage. Questo vuol dire che possiamo accedere contemporaneamente da più VM e soprattutto usare le normali API di IO offerte da Window per enumerare, leggere e scrivere.
Per sfruttare questa funzionalità dobbiamo innanzitutto configurare la share attraverso PowerShell (assicurarsi di avere l'ultima versione):
# Creo il contesto con le credenziali $ctx=New-AzureStorageContext nomeAccount chiavePrimariaoSecondaria # Creo la share New-AzureStorageShare miashare -Context $ctx
Creata la share possiamo sfruttarla dalle macchine virtuali o dai cloud service. Per farlo ci basta usare il comando net use, come di seguito.
cmdkey /add:nomeAccount.file.core.windows.net /user:nomeAccount /pass:chiavePrimariaoSecondaria net use z: \\nomeAccount.file.core.windows.net\miashare
Nell'esempio precedente memorizziamo le chiavi nello store di Windows per evitare di reinserirle. Da notare che le credenziali sono le medesime chiavi dello storage di Azure. Possiamo automatizzare queste righe di codice con i startup task dei cloud service così da non dover procedere manualmente al setup. A questo punto troveremo a disposizione l'unità Z: nella quale possiamo inserire i nostri file e cartelle.
Da notare che non possiamo mappare l'unità sul nostro PC, ma solo su macchine virtuali Azure. Possiamo però accederci tramite le API REST e con i relativi SDK di ogni linguaggio.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare la compressione degli artefatti in un workflow di GitHub
Impostare automaticamente l'altezza del font tramite CSS
Utilizzo delle stepped value functions nel CSS
Utilizzare il Null conditional assignment di C# 14
Evidenziare una porzione di testo in un pagina dopo una navigazione
Introduzione a GitHub Copilot CLI
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Abilitare .NET 10 su Azure App Service e Azure Functions
Personalizzare le pagine di errore su Azure App Service
Semplificare la gestione dei modelli con Azure AI Foundry Model Router
Gestione ciclo di vita in .NET Aspire
Ridurre il reflow cambiando il CSS




