Vytvoření kontejneru ve službě Azure Cosmos DB for NoSQL pomocí JavaScriptu
PLATÍ PRO: NoSQL
Kontejnery ve službě Azure Cosmos DB ukládají sady položek. Než budete moct vytvářet, dotazovat nebo spravovat položky, musíte nejprve vytvořit kontejner.
Pojmenování kontejneru
Ve službě Azure Cosmos DB je kontejner podobný tabulce v relační databázi. Při vytváření kontejneru tvoří název kontejneru segment identifikátoru URI sloužícího pro přístup k prostředku kontejneru a všechny podřízené položky.
Po vytvoření je identifikátor URI kontejneru v tomto formátu:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Vytvoření kontejneru
Získejte databázový objekt a pak vytvořte kontejner:
- createIfNotExists – vytvoří kontejner, pokud neexistuje. Pokud existuje, vraťte kontejner.
- create – vytvoří kontejner. Pokud existuje, vraťte kód stavu chyby.
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 je kód odpovědi HTTP. Úspěšná odpověď je v rozsahu 200–299.
Přístup ke kontejneru
Ke kontejneru se přistupuje z objektu kontejneru buď přímo, nebo zřetězený z objektů CosmosClient nebo 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();
Přístup podle objektu:
- Kontejnery (množné číslo): Vytváření nebo dotazování kontejnerů
- Kontejner (jednotné číslo): Odstranění kontejneru, práce s položkami
Odstranění kontejneru
Jakmile objekt Kontejner získáte, můžete kontejner odstranit pomocí objektu Kontejner:
const { statusCode } = await container.delete();
StatusCode je kód odpovědi HTTP. Úspěšná odpověď je v rozsahu 200–299.
Další kroky
Teď, když vytvoříte kontejner, použijte dalšího průvodce k vytvoření položek.