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
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Miglioramenti nell'accessibilità con Angular CDK
Aggiungere interattività lato server in Blazor 8
Controllare gli accessi IP alle app con Azure Container Apps
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Creare gruppi di client per Event Grid MQTT
Eseguire attività basate su eventi con Azure Container Jobs
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
C# 12: Cosa c'è di nuovo e interessante
Creare un'applicazione React e configurare Tailwind CSS
I più letti di oggi
- Riordinare le righe di una GridView di ASP.NET con jQuery
- Creazione di un alarm con suono personalizzato con Windows Phone 7.1
- Utilizzare la session affinity con Azure Container Apps
- Blue-green deployment con Azure Web App e DevOps
- Ed infine anche il calendario :)
- Configurare la diagnostica di Azure attraverso Visual Studio
- Recuperare la data di creazione di un tag tramite una pipeline YAML di Azure DevOps
- Microsoft Security Bulletin MS05-002
- .NET Core e dispositivi IoT
- Eseguire attività pianificate con Azure Container Jobs