Freigeben über


Erstellen eines Containers in Azure Cosmos DB für NoSQL mit JavaScript

Container in Azure Cosmos DB speichern Sammlungen von Elementen. Bevor Sie Elemente erstellen, abfragen oder verwalten können, müssen Sie zuerst einen Container erstellen.

Benennen eines Containers

In Azure Cosmos DB entspricht ein Container einer Tabelle in einer relationalen Datenbank. Wenn Sie einen Container erstellen, bildet der Containername ein Segment des URI, der für den Zugriff auf die Containerressource und alle untergeordneten Elemente verwendet wird.

Nach der Erstellung befindet sich der URI für einen Container in diesem Format:

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

Einen Container erstellen

Rufen Sie ein Datenbankobjekt ab, und erstellen Sie dann einen Container:

  • createIfNotExists – Erstellt einen Container, wenn er nicht vorhanden ist. Wenn vorhanden, Container zurückgeben.
  • create – Erstellt einen Container. Wenn dies vorhanden ist, wird der FehlerstatusCode zurückgegeben.
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 });

Der statusCode ist ein HTTP-Antwortcode. Eine erfolgreiche Antwort befindet sich im Bereich von 200-299.

Zugreifen auf einen Container

Auf einen Container wird über das Containerobjekt entweder direkt oder durch Verkettung von den CosmosClient- oder Database-Objekten zugegriffen.

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();

Zugriff nach Objekt:

  • Container (Plural): Erstellen oder Abfragen von Containern.
  • Container (Singular): Container löschen, mit Elementen arbeiten.

Container löschen

Nachdem Sie das Containerobjekt abgerufen haben, können Sie das Containerobjekt verwenden, um den Container zu löschen :

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

Der statusCode ist ein HTTP-Antwortcode. Eine erfolgreiche Antwort befindet sich im Bereich von 200-299.

Nächste Schritte

Nachdem Sie nun einen Container erstellt haben, verwenden Sie das nächste Handbuch zum Erstellen von Elementen.