Partager via


Utiliser une base de données Cosmos DB à partir d’une application Windows

Cet article contient les étapes nécessaires pour pouvoir utiliser une base de données Cosmos DB à partir d’une application Windows. Il contient également un petit extrait de code montrant comment vous pouvez interagir avec la base de données dans du code.

Configurer votre solution

Cet exemple peut être utilisé avec n’importe quel projet WPF, Windows Forms, WinUI 3 et UWP pour connecter votre application Windows à une base de données Cosmos DB. Suivez ces étapes pour installer le package et tester un exemple de code sur des tâches de base.

  1. Ouvrez la Console du Gestionnaire de package (Affichage -> Autres fenêtres -> Console du Gestionnaire de package). Utilisez la commande Install-Package Microsoft.Azure.Cosmos pour installer le package NuGet pour la bibliothèque de client Azure Cosmos DB for NoSQL pour .NET. Cette commande vous permet d’accéder par programmation à des bases de données Cosmos DB.
  2. Générez votre projet et vérifiez que la build n’a pas rencontré d’erreurs.

Ensuite, vous avez besoin de créer une instance Cosmos DB dans Azure. Pour cela, suivez les étapes décrites dans Créer un compte de base de données NoSQL dans Azure Cosmos DB.

Utiliser Cosmos DB avec un exemple de code

L’exemple de code suivant obtient un conteneur auprès d’une instance Cosmos DB dans Azure, puis ajoute un nouvel élément à ce conteneur. Ensuite, il utilise l’API de requête NoSQL de Cosmos DB pour récupérer l’élément auprès du conteneur et générer l’état de la réponse. Notez que le point de terminaison, la clé d’authentification et le nom de la base de données sont à personnaliser en fonction de l’instance Cosmos DB que vous avez créée dans la section précédente.

Note

Pour obtenir un exemple complet, notamment des informations sur l’installation et la configuration nécessaires de Cosmos DB, consultez Développer une application console .NET avec Azure Cosmos DB for NoSQL.

using Microsoft.Azure.Cosmos;

...

public async Task CosmosSample(string endpoint, string authKey)
{
    // CONNECT
    var client = new CosmosClient(
        accountEndpoint: endpoint,
        authKeyOrResourceToken: authKey
    );
    Database database = client.GetDatabase("sample_customers");
    ContainerProperties properties = new(
        id: "customers",
        partitionKeyPath: "/location"
    );
    Container container = await database.CreateContainerIfNotExistsAsync(properties);

    // WRITE DATA
    string customerId = "1234";
    string state = "WA";
    var customer = new
    {
        id = customerId,
        name = "John Doe",
        location = state
    };
    var createResponse = await container.CreateItemAsync(customer);
    Console.WriteLine($"[Status code: {createResponse.StatusCode}]\t{customerId}");

    // READ DATA
    string sql = "SELECT * FROM customers c WHERE c.id = @id";
    var query = new QueryDefinition(
        query: sql
    ).WithParameter("@id", customerId);
    using var feed = container.GetItemQueryIterator<dynamic>(queryDefinition: query);
    var queryResponse = await feed.ReadNextAsync();
    Console.WriteLine($"[Status code: {queryResponse.StatusCode}]\t{customerId}");
}