Azure Cosmos DB è un servizio di database NoSQL completamente gestito, progettato per lo sviluppo di applicazioni moderne che richiedono scalabilità elastica, bassa latenza e disponibilità garantita a livello globale. Per facilitare lo sviluppo e il test delle applicazioni, Microsoft ha introdotto una nuova versione dell'emulatore di Azure Cosmos DB per Linux, disponibile come container Docker. Questo emulatore consente di simulare l'ambiente di Azure Cosmos DB in locale, eliminando la necessità di una sottoscrizione Azure e riducendo i costi.
I vantaggi principali dell'emulatore includono la possibilità di sviluppare e testare le applicazioni in un ambiente controllato, riducendo sensibilmente i tempi di sviluppob e iterazione. Tuttavia, l'attuale versione supporta solo l'API NoSQL in modalità gateway e offre un set limitato di funzionalità rispetto all'ambiente di produzione.
Per iniziare, è necessario avere Docker installato sul proprio sistema. Il primo passo è scaricare e lanciare il container con il comando:
docker run -d -p 8081:8081 -p 1234:1234 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview
Questo comando esegue il container in background, esponendo le porte necessarie per interagire con l'emulatore. L'accesso al Data Explorer, utile per visualizzare e gestire i dati, è possibile tramite il browser all'indirizzo http://localhost:1234 (l'interfaccia è pronta dopo parecchi secondi).
Un aspetto importante da considerare è la necessità di avviare l'emulatore in modalità HTTPS per utilizzare gli SDK .NET e Java, poiché questi non supportano la modalità HTTP. Il comando corretto è:
docker run -d -p 8081:8081 -p 1234:1234 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview --protocol https
E' importante notare che non tutte le funzionalità di Cosmos DB sono supportate. L'emulatore attualmente offre il supporto per operazioni fondamentali come la creazione, lettura, aggiornamento e cancellazione di database e documenti. Tuttavia, alcune funzionalità avanzate come il change feed, la gestione delle request units e le query con join non sono ancora implementate. Inoltre, funzionalità come le stored procedure, i trigger e le UDF (funzioni definite dall'utente) non saranno mai supportate. Per una panoramica dettagliata delle funzionalità già disponibili e di quelle pianificate, rimandiamo alla documentazione ufficialei disponibile: https://learn.microsoft.com/en-us/azure/cosmos-db/emulator-linux.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare DeepSeek R1 con Azure AI
Proteggere le risorse Azure con private link e private endpoints
Recuperare App Service cancellati su Azure
Creare una libreria CSS universale: Immagini
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Utilizzare Container Queries nominali
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Gestione dell'annidamento delle regole dei layer in CSS
Eliminare record doppi in Sql Server
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database