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
Semplificare il deployment di siti statici con Azure Static Web App
Elencare le container images installate in un cluster di Kubernetes
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Code scanning e advanced security con Azure DevOps
Eseguire operazioni sui blob con Azure Storage Actions
Evitare la command injection in un workflow di GitHub
What's new in Azure Functions and Extensions
Sfruttare al massimo i topic space di Event Grid MQTT
Determinare lo stato di un pod in Kubernetes
Creazione di componenti personalizzati in React.js con Tailwind CSS
Usare un KeyedService di default in ASP.NET Core 8
Registrare servizi multipli tramite chiavi in ASP.NET Core 8