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
Migliorare l'organizzazione delle risorse con Azure Policy
Il nuovo controllo Range di Blazor 9
Gestione dell'annidamento delle regole dei layer in CSS
Gestire la cancellazione di una richiesta in streaming da Blazor
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Usare il colore CSS per migliorare lo stile della pagina
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Ordinare randomicamente una lista in C#
Gestire gli accessi con Token su Azure Container Registry
Disabilitare automaticamente un workflow di GitHub (parte 2)
Effettuare il binding di date in Blazor
Creare una libreria CSS universale: Nav menu