Azure Cosmos DB: esempi .NET dell'API DocumentDB

Le soluzioni di esempio più recenti che eseguono operazioni CRUD e altre operazioni di uso comune su risorse di Azure Cosmos DB sono disponibili nel repository azure-documentdb-dotnet di GitHub. Questo articolo include:

  • Collegamenti alle attività in ogni file di progetto C# di esempio.
  • Collegamenti al contenuto di riferimento sulle API correlato.

Prerequisiti

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

È inoltre possibile provare gratuitamente Microsoft Azure Cosmos DB senza una sottoscrizione di Azure e senza impegno. Oppure usare l'emulatore di Azure Cosmos DB per questa esercitazione con l'URI https://localhost:8081 e la chiave

C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==

È necessario anche il pacchetto NuGet Microsoft.Azure.DocumentDB.

Nota

Ogni esempio è indipendente e le operazioni di installazione e pulizia sono eseguite automaticamente. Di conseguenza, gli esempi effettuano più chiamate a CreateDocumentCollectionAsync(). A ogni chiamata, viene addebitata alla sottoscrizione 1 ora di utilizzo per ogni livello di prestazioni della raccolta in fase di creazione.

Esempi di database

Il metodo RunDatabaseDemo dell'esempio del progetto DatabaseManagement illustra come eseguire le attività seguenti.

Attività Informazioni di riferimento sulle API
Creare un database DocumentClient.CreateDatabaseAsync
Eseguire una query in un database DocumentQueryable.CreateDatabaseQuery
Leggere un database in base all'ID DocumentClient.ReadDatabaseAsync
Leggere tutti i database DocumentClient.ReadDatabaseFeedAsync
Eliminare un database DocumentClient.DeleteDatabaseAsync

Esempi di raccolta

Il metodo RunCollectionDemo del progetto CollectionManagement di esempio illustra come eseguire le attività seguenti.

Attività Informazioni di riferimento sulle API
Creare una raccolta DocumentClient.CreateDocumentCollectionAsync
Ottenere le prestazioni configurate di una raccolta DocumentQueryable.CreateOfferQuery
Modificare le prestazioni configurate di una raccolta DocumentClient.ReplaceOfferAsync
Ottenere una raccolta in base all'ID DocumentClient.ReadDocumentCollectionAsync
Leggere tutte le raccolte in un database DocumentClient.ReadDocumentCollectionFeedAsync
Eliminare una raccolta DocumentClient.DeleteDocumentCollectionAsync

Esempi di documento

Il metodo RunDocumentsDemo del progetto DocumentManagement di esempio illustra come eseguire le attività seguenti.

Attività Informazioni di riferimento sulle API
Creare un documento DocumentClient.CreateDocumentAsync
Leggere un documento in base all'ID DocumentClient.ReadDocumentAsync
Leggere tutti i documenti in una raccolta DocumentClient.ReadDocumentFeedAsync
Eseguire query per documenti DocumentClient.CreateDocumentQuery
Sostituire un documento DocumentClient.ReplaceDocumentAsync
Upsert per un documento DocumentClient.UpsertDocumentAsync
Eliminare un documento DocumentClient.DeleteDocumentAsync
Utilizzo di oggetti dinamici .NET DocumentClient.CreateDocumentAsync
DocumentClient.ReadDocumentAsync
DocumentClient.ReplaceDocumentAsync
Sostituire documenti con verifica degli ETag condizionale DocumentClient.AccessCondition
Documents.Client.AccessConditionType
Leggere il documento solo se è stato modificato DocumentClient.AccessCondition
Documents.Client.AccessConditionType

Esempi di indicizzazione

Il metodo RunIndexDemo del progetto IndexManagement di esempio illustra come eseguire le attività seguenti.

Attività Informazioni di riferimento sulle API
Escludere un documento dall'indice IndexingDirective.Exclude
Usare l'indicizzazione manuale anziché automatica IndexingPolicy.Automatic
Usare l'indicizzazione differita anziché coerente IndexingMode.Lazy
Escludere percorsi di documenti specificati dall'indice IndexingPolicy.ExcludedPaths
Forzare un'operazione di analisi dell'intervallo su un percorso indicizzato hash FeedOptions.EnableScanInQuery
Usare gli indici di intervallo sulle stringhe IndexingPolicy.IncludedPaths
RangeIndex
Eseguire una trasformazione di indice ReplaceDocumentCollectionAsync

Per altre informazioni sull'indicizzazione, vedere Criteri di indicizzazione di Azure Cosmos DB.

Esempi geospaziali

Il file di esempio geospaziale, azure-documentdb-dotnet/samples/code-samples/Geospatial/Program.cs, illustra come eseguire le attività seguenti.

Attività Informazioni di riferimento sulle API
Abilitare l'indicizzazione geospaziale su una nuova raccolta IndexingPolicy
IndexKind.Spatial
DataType.Point
Inserire documenti con punti GeoJSON DocumentClient.CreateDocumentAsync
DataType.Point
Individuare punti all'interno di una distanza specificata ST_DISTANCE
[GeometryOperationExtensions.Distance] (https://msdn.microsoft.com/library/azure/microsoft.azure.documents.spatial.geometryoperationextensions.distance.aspx#M:Microsoft.Azure.Documents.Spatial.GeometryOperationExtensions.Distance(Microsoft.Azure.Documents.Spatial.Geometry,Microsoft.Azure.Documents.Spatial.Geometry)
Individuare punti all'interno di un poligono ST_WITHIN
[GeometryOperationExtensions.Within](https://msdn.microsoft.com/library/azure/microsoft.azure.documents.spatial.geometryoperationextensions.within.aspx#M:Microsoft.Azure.Documents.Spatial.GeometryOperationExtensions.Within(Microsoft.Azure.Documents.Spatial.Geometry,Microsoft.Azure.Documents.Spatial.Geometry) and
Polygon
Abilitare l'indicizzazione geospaziale su una raccolta esistente DocumentClient.ReplaceDocumentCollectionAsync
DocumentCollection.IndexingPolicy
Convalidare i dati relativi a punti e poligoni ST_ISVALID
ST_ISVALIDDETAILED
GeometryOperationExtensions.IsValid
GeometryOperationExtensions.IsValidDetailed

Per altre informazioni sull'uso dei dati geospaziali, vedere Uso dei dati geospaziali in Azure Cosmos DB.

Esempi di query

Il file di documento della query, azure-documentdb-dotnet/samples/code-samples/Queries/Program.cs, illustra come eseguire ognuna delle attività seguenti usando la grammatica delle query SQL, il provider LINQ con query e con Lambda.

Attività Informazioni di riferimento sulle API
Eseguire query per tutti i documenti DocumentQueryable.CreateDocumentQuery
Eseguire query relative all'uguaglianza con == DocumentQueryable.CreateDocumentQuery
Eseguire query relative alla disuguaglianza con != e NOT DocumentQueryable.CreateDocumentQuery
Eseguire query usando operatori di intervallo come >, <, >=, <= DocumentQueryable.CreateDocumentQuery
Eseguire query usando operatori di intervallo su stringhe DocumentQueryable.CreateDocumentQuery
Eseguire query con OrderBy DocumentQueryable.CreateDocumentQuery
Query con funzioni di aggregazione DocumentQueryable.CreateDocumentQuery
Utilizzare i documenti secondari DocumentQueryable.CreateDocumentQuery
Eseguire query con join all'interno del documento DocumentQueryable.CreateDocumentQuery
Eseguire query con operatori di stringa, matematici e di matrice DocumentQueryable.CreateDocumentQuery
seguire query con SQL con parametri mediante SqlQuerySpec DocumentQueryable.CreateDocumentQuery
SqlQuerySpec
Query con paging esplicito DocumentQueryable.CreateDocumentQuery
Raccolte partizionate di query in parallelo DocumentQueryable.CreateDocumentQuery
Eseguire una query con Order by per le raccolte partizionate DocumentQueryable.CreateDocumentQuery

Per altre informazioni sulla scrittura di query, vedere Query SQL in Azure Cosmos DB.

Esempi di feed di modifiche

L'esempio di feed di modifiche, azure-documentdb-dotnet/samples/code-samples/ChangeFeed/Program.cs, mostra come eseguire le seguenti attività.

Attività Informazioni di riferimento sulle API
Leggere il feed di modifiche DocumentClient.CreateDocumentChangeFeedQuery
Leggere gli intervalli di chiavi di partizione DocumentClient.ReadPartitionKeyRangeFeedAsync

L'esempio di processore di feed di modifiche Strumento di migrazione del feed di modifiche dimostra come usare la libreria del precessore del feed di modifiche per replicare i dati a un'altra raccolta DB Cosmos.

Esempi di programmazione lato server

Il file di programmazione lato server, azure-documentdb-net/samples/code-samples/ServerSideScripts/Program.cs, illustra come eseguire le attività seguenti.

Attività Informazioni di riferimento sulle API
Creare una stored procedure DocumentClient.CreateStoredProcedureAsync
Eseguire una stored procedure DocumentClient.ExecuteStoredProcedureAsync
Leggere un feed di documenti per una stored procedure DocumentClient.ReadDocumentFeedAsync
Creare una stored procedure con OrderBy DocumentClient.CreateStoredProcedureAsync
Creare un pre-trigger DocumentClient.CreateTriggerAsync
Creare un post-trigger DocumentClient.CreateTriggerAsync
Creare una funzione definita dall'utente DocumentClient.CreateUserDefinedFunctionAsync

Per altre informazioni sulla programmazione lato server, vedere Programmazione lato server per Azure Cosmos DB: stored procedure, trigger del database e funzioni definite dall'utente.

Esempi di gestione utenti

Il file di gestione utenti, azure-documentdb-net/samples/code-samples/UserManagement/Program.cs, illustra come eseguire le attività seguenti.

Attività Informazioni di riferimento sulle API
Creare un utente DocumentClient.CreateUserAsync
Impostare autorizzazioni su una raccolta o un documento DocumentClient.CreatePermissionAsync
Ottenere un elenco di autorizzazioni di un utente DocumentClient.ReadUserAsync
DocumentClient.ReadPermissionFeedAsync