Udostępnij za pośrednictwem


Tworzenie kontenera w usłudze Azure Cosmos DB for NoSQL przy użyciu języka JavaScript

DOTYCZY: NoSQL

Kontenery w usłudze Azure Cosmos DB przechowują zestawy elementów. Przed utworzeniem, wykonywaniem zapytań o elementy lub zarządzanie nimi należy najpierw utworzyć kontener.

Nazywanie kontenera

W usłudze Azure Cosmos DB kontener jest analogiczny do tabeli w relacyjnej bazie danych. Podczas tworzenia kontenera nazwa kontenera tworzy segment identyfikatora URI używanego do uzyskiwania dostępu do zasobu kontenera i wszystkich elementów podrzędnych.

Po utworzeniu identyfikator URI kontenera ma następujący format:

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

Tworzenie kontenera

Pobierz obiekt Bazy danych, a następnie utwórz kontener:

  • createIfNotExists — tworzy kontener, jeśli nie istnieje. Jeśli tak się stało, zwróć kontener.
  • create — tworzy kontener. Jeśli tak się stanie, zwróć stan błęduCode.
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 to kod odpowiedzi HTTP. Pomyślna odpowiedź znajduje się w zakresie od 200 do 299.

Uzyskiwanie dostępu do kontenera

Dostęp do kontenera jest uzyskiwany z obiektu Kontener bezpośrednio lub w łańcuchu z obiektów CosmosClient lub 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();

Dostęp według obiektu:

  • Kontenery (liczba mnoga): tworzenie kontenerów lub wykonywanie zapytań.
  • Kontener (pojedynczy): usuwanie kontenera, praca z elementami.

Usuwanie kontenera

Po uzyskaniu obiektu Container można użyć obiektu Container , aby usunąć kontener:

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

StatusCode to kod odpowiedzi HTTP. Pomyślna odpowiedź znajduje się w zakresie od 200 do 299.

Następne kroki

Po utworzeniu kontenera użyj następnego przewodnika, aby utworzyć elementy.