Share via


Een container maken in Azure Cosmos DB for NoSQL met behulp van JavaScript

VAN TOEPASSING OP: NoSQL

Containers in Azure Cosmos DB-opslagsets met items. Voordat u items kunt maken, opvragen of beheren, moet u eerst een container maken.

Een container een naam opgeven

In Azure Cosmos DB is een container vergelijkbaar met een tabel in een relationele database. Wanneer u een container maakt, vormt de containernaam een segment van de URI die wordt gebruikt voor toegang tot de containerresource en eventuele onderliggende items.

Hier volgen enkele snelle regels bij het benoemen van een container:

  • Containernamen tussen 3 en 63 tekens lang houden
  • Containernamen mogen alleen kleine letters, cijfers of het streepje (-) bevatten.
  • Containernamen moeten beginnen met een kleine letter of cijfer.

Zodra de URI voor een container is gemaakt, heeft deze indeling:

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

Een container maken

Haal een databaseobject op en maak vervolgens een container:

  • createIfNotExists : hiermee maakt u een container als deze niet bestaat. Als deze wel bestaat, retourneer dan de container.
  • maken : hiermee maakt u een container. Als deze bestaat, retourneert u de foutstatusCode.
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 });

De statusCode is een HTTP-antwoordcode. Een geslaagd antwoord bevindt zich in het bereik 200-299.

Toegang tot een container

Een container wordt geopend vanuit het containerobject rechtstreeks of gekoppeld vanuit de CosmosClient - of Database-objecten .

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();

Toegang per object:

  • Containers (meervoud): containers maken of opvragen.
  • Container (enkelvoud): verwijder de container, werk met items.

Een container verwijderen

Zodra u het containerobject hebt opgehaald, kunt u het containerobject gebruiken om de container te verwijderen :

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

De statusCode is een HTTP-antwoordcode. Een geslaagd antwoord bevindt zich in het bereik 200-299.

Volgende stappen

Nu u een container hebt gemaakt, gebruikt u de volgende handleiding om items te maken.