Creación de un contenedor en Azure Cosmos DB for NoSQL con JavaScript
SE APLICA A: NoSQL
Los contenedores de Azure Cosmos DB almacenan conjuntos de elementos. Para poder crear, consultar o administrar elementos, primero debe crear un contenedor.
Asignación de un nombre para un contenedor
En Azure Cosmos DB, un contenedor es análogo a una tabla en una base de datos relacional. Al crear un contenedor, el nombre del contenedor forma un segmento del URI usado para acceder al recurso de contenedor y a los elementos secundarios.
Una vez creado, el URI de un contenedor tiene este formato:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Crear un contenedor
Obtenga un objeto de base de datos y, a continuación, cree un contenedor:
- createIfNotExists: crea un contenedor si no existe uno. Si existe, devuelva el contenedor.
- create: crea un contenedor. Si existe, devuelva el error statusCode.
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 es un código de respuesta HTTP. Una respuesta correcta está en el intervalo 200-299.
Acceder a un contenedor
Se tiene acceso a un contenedor desde el objeto de contenedor directamente o encadenado desde los objetos CosmosClient o base de datos.
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();
Acceso por medio de un objeto:
- Contenedores (plural): Crear o consultar contenedores.
- Contenedor (singular): Eliminar contenedor, trabajar con elementos.
Eliminación de un contenedor
Una vez que obtenga el objeto de contenedor, puede usar el objeto de contenedor para eliminar el contenedor:
const { statusCode } = await container.delete();
StatusCode es un código de respuesta HTTP. Una respuesta correcta está en el intervalo 200-299.
Pasos siguientes
Ahora que ha creado un contenedor, use la siguiente guía para crear elementos.