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
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Utilizzare gRPC su App Service di Azure
Utilizzare il trigger SQL con le Azure Function
Definire stili a livello di libreria in Angular
Usare il colore CSS per migliorare lo stile della pagina
Aggiornare a .NET 9 su Azure App Service
Gestione dei nomi con le regole @layer in CSS
.NET Conference Italia 2024
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Sostituire la GitHub Action di login su private registry