Azure DocumentDB è il database NoSQL fornito dalla piattaforma Microsoft Azure. In modo molto simile ad altri database, permette la memorizzazione di documenti serializzati in JSON. Ogni documento, ma in generale ogni risorsa, come collezioni, utenti e database, è identificato da un ID univoco autogenerato, che combinato con gli altri, permette di navigare all'interno e raggiungere una risorsa. Per esempio il percorso dbs/databaseId/colls/collectionId/docs/documentId permette di raggiungere un documento di una specifica collezione di uno specifico database.
Quando ci troviamo a dover operare su una risorsa, quindi, dobbiamo ricostruire questo percorso. Per farlo viene in aiuto il pacchetto NuGet Microsoft.Azure.Documents.Client che contiene la classe di nome UriFactory. Essa dispone di vari metodi di nome CreateDocumentUri, CreateCollectionUri e così via che permettono di generare l'indirizzo senza errori. Inoltre, recentemente è stata introdotta la possibilità di utilizzare i nomi da noi dati alle risorse, invece dei nomi univoci autogenerati da Azure, rendendo più facile la configurazione dell'ambiente e il recupero delle informazioni.
Lo script seguente mostra quindi come generare il percorso e leggere un documento.
// Crea l'indirizzo Uri docUri = UriFactory.CreateDocumentUri("MyDb", "MyCollection", "MyDocId"); // Legge il documento await client.ReadDocumentAsync(docUri);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Inizializzare i container in Azure Container Apps
Utilizzare un service principal per accedere a Azure Container Registry
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Cambiare la chiave di partizionamento di Azure Cosmos DB
Elencare le container images installate in un cluster di Kubernetes
Gestire liste di tipi semplici con Entity Framework Core
Usare una container image come runner di GitHub Actions
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Eseguire le GitHub Actions offline
Limitare le richieste lato server con l'interactive routing di Blazor 8
Disabilitare automaticamente un workflow di GitHub (parte 2)
Gestire i null nelle reactive form tipizzate di Angular