Создание контейнера в Azure Cosmos DB для NoSQL с помощью JavaScript
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Контейнеры в Azure Cosmos DB хранят наборы элементов. Прежде чем создавать и запрашивать элементы или управлять ими, необходимо сначала создать контейнер.
Присвойте имя контейнеру
В Azure Cosmos DB контейнер аналогичен таблице в реляционной базе данных. При создании контейнера имя контейнера формирует сегмент URI, используемый для доступа к ресурсу контейнера и любым дочерним элементам.
После создания URI контейнера имеет следующий формат:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Создание контейнера
Получите объект Database, а затем создайте контейнер:
- createIfNotExists — создает контейнер, если он не существует. Если он существует, верните контейнер.
- create — создает контейнер. Если он существует, верните код состояния ошибки.
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 — это код ответа HTTP. Успешный ответ находится в диапазоне от 200 до 299.
Доступ к контейнеру
Доступ к контейнеру осуществляется из объекта контейнера напрямую или цеплен из объектов CosmosClient или 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();
Доступ по объекту:
- Контейнеры (множественное число): создание или запрос контейнеров.
- Контейнер (сингулярный): удаление контейнера , работа с элементами.
Удаление контейнера
После получения объекта Container можно использовать объект Container для удаления контейнера:
const { statusCode } = await container.delete();
StatusCode — это код ответа HTTP. Успешный ответ находится в диапазоне от 200 до 299.
Следующие шаги
Теперь, когда вы создали контейнер, используйте следующее руководство для создания элементов.