Partilhar via


Crie um contentor no Azure Cosmos DB para NoSQL usando JavaScript

Os contentores no Azure Cosmos DB armazenam conjuntos de itens. Antes de poder criar, consultar ou gerir itens, deve primeiro criar um contentor.

Nomeie um contentor

No Azure Cosmos DB, um contentor é análogo a uma tabela numa base de dados relacional. Quando você cria um contentor, o nome do contentor forma um segmento do URI usado para aceder ao recurso do contentor e a quaisquer itens subordinados.

Uma vez criado, o URI de um contentor está neste formato:

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

Criar um contêiner

Obtenha um objeto Base de Dados , depois crie um Contentor:

  • createIfNotExists - Cria um contentor se este não existir. Se existir, devolva o contentor.
  • create - Cria um contentor. Se existir, devolva o código de estado do erro.
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 });

O statusCode é um código de resposta HTTP. Uma resposta bem-sucedida situa-se na faixa dos 200-299.

Aceder a um contentor

Um contentor é acedido do objeto Container, diretamente ou encadeado a partir dos objetos CosmosClient ou 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();

Acesso por objeto:

  • Contentores (plural): Criar ou consultar contentores.
  • Contentor (singular): Apagar contentor, trabalhar com os itens.

Excluir um contêiner

Depois de obter o objeto Container , pode usar o objeto Container para eliminar o contentor:

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

O statusCode é um código de resposta HTTP. Uma resposta bem-sucedida situa-se na faixa dos 200-299.

Próximos passos

Agora que criaste um contentor, usa o guia seguinte para criar os itens.