Quando vogliamo sfruttare un database documentale, Cosmos DB è il servizio di riferimento per la piattaforma cloud Microsoft. Questo database in realtà non è solo documentale, ma si presta anche come key/value store o come graph db. Dispone di più interfacce di comunicazione ed è incredibilmente performante, scalabile e affidabile.
Essendo un database siamo naturalmente pensati a considerarlo come un servizio di backend dove leggere e scrivere tramite servizi intermedi. In realtà si può prestare egregiamente anche come motore di cache o come storage di viste materializzate, e in queste situazioni diventa fondamentale poter abbassare il più possibile le latenze.
Dato che Cosmos DB può essere interrogato e gestito tramite REST, è possibile quindi poterci lavorare direttamente da una pagina HTML, con JavaScript. Tramite l'SDK fornito da Microsoft o creando manualmente la richiesta, queste operazioni sono piuttosto semplici. L'unico limite è rappresentato dai browser che non permettono di effettuare chiamate su domini diversi dalla sorgente dello script. Di recente è stata aggiunto il supporto a CORS (cross-origin resource sharing) che toglie questo limite. Direttamente dal portale, infatti, possiamo inserire la lista dei domini dai quali sono consentite le chiamate.
Nel momento in cui si utilizza Cosmos DB direttamente da una pagina web, è opportuno non usare la master key come sistema di autenticazione, ma di sfruttare le utenze, le quali permettono di limitare una specifica risorsa (collezione) e la relativa modalità di accesso.
Per maggiori informazioni sulla sicurezza:
https://docs.microsoft.com/it-it/azure/cosmos-db/secure-access-to-data
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare ChatGPT con Azure OpenAI
Eseguire attività pianificate con Azure Container Jobs
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Le novità di Angular: i miglioramenti alla CLI
Usare un KeyedService di default in ASP.NET Core 8
Usare una container image come runner di GitHub Actions
Sfruttare al massimo i topic space di Event Grid MQTT
Sottoscrizione agli eventi sul contenitore in JavaScript
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Usare le variabili per personalizzare gli stili CSS