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.