Partilhar via


Criar um contêiner no Azure Cosmos DB para NoSQL usando JavaScript

APLICA-SE A: NoSQL

Os contêineres no Azure Cosmos DB armazenam conjuntos de itens. Antes de criar, consultar ou gerenciar itens, você deve primeiro criar um contêiner.

Nomeie um contêiner

No Azure Cosmos DB, um contêiner é análogo a uma tabela em um banco de dados relacional. Quando você cria um contêiner, o nome do contêiner forma um segmento do URI usado para acessar o recurso de contêiner e quaisquer itens filho.

Uma vez criado, o URI de um contêiner está neste formato:

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

Criar um contentor

Obtenha um objeto Database e, em seguida, crie um Container:

  • createIfNotExists - Cria um contêiner se ele não existir. Se existir, devolva o recipiente.
  • create - Cria um contêiner. Se existir, retorne o erro 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 });

O statusCode é um código de resposta HTTP. Uma resposta bem-sucedida está na faixa de 200-299.

Aceder a um contentor

Um contêiner é acessado a partir do objeto Container diretamente ou encadeado 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:

  • Contêineres (plural): Crie ou consulte contêineres.
  • Contêiner (singular): Excluir contêiner, trabalhar com itens.

Eliminar um contentor

Depois de obter o objeto Container , você pode usar o objeto Container para excluir o contêiner:

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

O statusCode é um código de resposta HTTP. Uma resposta bem-sucedida está na faixa de 200-299.

Próximos passos

Agora que você criou um contêiner, use o próximo guia para criar itens.