Partager via


Créer un conteneur dans Azure Cosmos DB pour NoSQL à l’aide de JavaScript

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 dans 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.

Une fois créé, l’URI d’un conteneur est au format suivant :

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

Créer un conteneur

Obtenez un objet Database , puis créez un conteneur :

  • createIfNotExists : crée un conteneur s’il n’existe pas. S'il existe, retournez le conteneur.
  • create - Crée un conteneur. S’il existe, retournez le code d’état d’erreur.
const containerName = 'myContainer';

// Possible results:
// Create then return container
// Return existing container
// Return error statusCode
const { statusCode, container } = await database.containers.createIfNotExists({ id: containerName });

// Possible results: 
// Create then return container
// Return error statusCode, reason includes container already exists
const { statusCode, container} = await database.containers.create({ id: containerName });

StatusCode est un code de réponse HTTP. Une réponse réussie se trouve dans la plage 200-299.

Accéder à un conteneur

Un conteneur est accessible à partir de l’objet Conteneur directement ou chaîné à partir des objets CosmosClient ou Database .

const databaseName = 'myDb';
const containerName = 'myContainer';

// Chained - assumes database and container already exis
const { container, statusCode } = await client.database(databaseName).container(containerName);

// Direct - assumes database and container already exist
const { database, statusCode } = await client.database(databaseName);
if(statusCode < 400){
    const { container, statusCode } = await database.container(containerName);
}

// Query - assumes database and container already exist
const { resources } = await client.database(databaseName).containers
.query({
    query: `SELECT * FROM root r where r.id =@containerId`,
    parameters: [
    {
        name: '@containerId',
        value: containerName
    }
    ]
})
.fetchAll();

Accès par objet :

  • Conteneurs (plural) : Créez ou interrogez des conteneurs.
  • Conteneur (singulier) : Supprimer le conteneur, manipuler des éléments.

Supprimer un conteneur

Une fois que vous avez obtenu l’objet Container , vous pouvez utiliser l’objet Container pour supprimer le conteneur :

const { statusCode } = await container.delete();

StatusCode est un code de réponse HTTP. Une réponse réussie se trouve dans la plage 200-299.

Étapes suivantes

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