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
Il nuovo controllo Range di Blazor 9
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Gestire gli accessi con Token su Azure Container Registry
Utilizzare Azure AI Studio per testare i modelli AI
Recuperare App Service cancellati su Azure
Utilizzare il trigger SQL con le Azure Function
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Potenziare la ricerca su Cosmos DB con Full Text Search