Freigeben über


Erstellen eines Containers in Azure Cosmos DB for NoSQL mit JavaScript

GILT FÜR: NoSQL

Container in Azure Cosmos DB-Speichergruppen von Elementen. Bevor Sie Elemente erstellen, abfragen oder verwalten können, müssen Sie zunächst einen Container erstellen.

Benennen eines Containers

In Azure Cosmos DB ist ein Container analog zu einer Tabelle in einer relationalen Datenbank. Wenn Sie einen Container erstellen, bildet der Containername ein Segment des URI, der zum Zugreifen auf die Containerressource und alle untergeordneten Elemente verwendet wird.

Hier sind einige schnelle Regeln beim Benennen eines Containers:

  • Halten Sie Containernamen zwischen 3 und 63 Zeichen lang.
  • Containernamen dürfen nur Kleinbuchstaben, Ziffern oder einen Bindestrich (-) enthalten.
  • Containernamen müssen mit einem Kleinbuchstaben oder einer Zahl beginnen.

Nach dem Erstellen weist der URI für einen Container das folgende Format auf:

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

Erstellen eines Containers

Rufen Sie ein Database-Objekt ab, und erstellen Sie dann einen Container:

  • createIfNotExists: Erstellt einen Container, wenn er nicht vorhanden ist. Wenn er vorhanden ist, wird der Container zurückgegeben.
  • create: Erstellt einen Container. Falls eine vorhanden ist, wird der Fehlerstatuscode (statusCode) 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 liegt im Bereich von 200 bis 299.

Zugreifen auf einen Container

Der Zugriff auf einen Container erfolgt direkt über das Container-Objekt oder verkettet über das CosmosClient- oder Database-Objekt.

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 über das Objekt:

  • Container (Plural): Erstellt Container oder fragt sie ab.
  • Container (Singular): Löscht den Container und arbeitet mit Elementen.

Löschen eines Containers

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

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

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

Nächste Schritte

Nachdem Sie nun einen Container erstellt haben, verwenden Sie den nächsten Leitfaden zum Erstellen von Elementen.