Partager via


Créer un conteneur dans Azure Cosmos DB for NoSQL à l’aide de .NET

S’APPLIQUE À : NoSQL

Les conteneurs dans Azure Cosmos DB stockent des ensembles d’éléments. Avant de pouvoir créer, interroger ou gérer des éléments, vous devez d’abord créer un conteneur.

Nommer un conteneur

Dans Azure Cosmos DB, un conteneur est analogue à une table d’une base de données relationnelle. Lorsque vous créez un conteneur, le nom du conteneur forme un segment de l’URI utilisé pour accéder à la ressource de conteneur et à tous les éléments enfants.

Voici quelques règles rapides lors de l’affectation d’un nom à un conteneur :

  • Les noms de conteneurs ne doivent pas être vides.
  • Les noms de conteneurs ne peuvent pas dépasser 256 caractères.

Après création, l’URI d’un conteneur est au format suivant :

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>

Conseil

Pour plus d'informations sur les limites de nom de conteneurs, voir Quotas et limites de service

Créez un conteneur.

Pour créer un conteneur, utilisez l’une des méthodes suivantes :

Créer un conteneur de manière asynchrone

L’exemple suivant permet de créer un conteneur asynchrone :

// New instance of Container class referencing the server-side container
Container container1 = await database.CreateContainerAsync(
    id: "products-1",
    partitionKeyPath: "/category",
    throughput: 400
);

La méthode Database.CreateContainerAsync lève une exception si une base de données portant le même nom existe déjà.

Créez un conteneur de manière asynchrone si il n’existe pas déjà

L’exemple suivant crée un conteneur de manière asynchrone uniquement si elle n’existe pas déjà sur le compte :

// New instance of Container class referencing the server-side container
Container container2 = await database.CreateContainerIfNotExistsAsync(
    id: "products-2",
    partitionKeyPath: "/category",
    throughput: 400
);

La méthode Database.CreateContainerIfNotExistsAsync crée uniquement un nouveau conteneur s’il n’existe pas déjà. Cette méthode est utile pour éviter les erreurs si vous exécutez le même code plusieurs fois.

Analyse de la réponse

Dans tous les exemples jusqu’à présent, la réponse de la requête asynchrone a été castée immédiatement vers le type Container. Vous pouvez analyser les métadonnées relatives à la réponse, y compris les en-têtes et le code d’état HTTP. Le type de retour true pour les méthodes Database.CreateContainerAsync et Database.CreateContainerIfNotExistsAsync est ContainerResponse.

L’exemple suivant montre la méthode Database.CreateContainerIfNotExistsAsync retournant un ContainerResponse. Une fois retournées, vous pouvez analyser les propriétés de réponse, puis obtenir l’objet Conteneur sous-jacent :

// New instance of Container class referencing the server-side container
ContainerResponse response = await database.CreateContainerIfNotExistsAsync(
    id: "products-3",
    partitionKeyPath: "/category",
    throughput: 400
);
// Parse additional response properties
Container container3 = response.Container;

Étapes suivantes

Maintenant que vous avez créé un conteneur, utilisez le guide suivant pour créer des éléments.