Tároló létrehozása az Azure Cosmos DB for NoSQL-ben JavaScript használatával

A KÖVETKEZŐKRE VONATKOZIK: NoSQL

Tárolók az Azure Cosmos DB tárolókészleteiben. Mielőtt elemeket hozhat létre, kérdezhet le vagy kezelhet, először létre kell hoznia egy tárolót.

Tároló elnevezése

Az Azure Cosmos DB-ben a tárolók hasonlóak egy relációs adatbázis tábláihoz. Tároló létrehozásakor a tároló neve a tárolóerőforrás és a gyermekelemek eléréséhez használt URI egy szegmensét képezi.

Íme néhány gyors szabály a tároló elnevezésekor:

  • A tárolónevek 3 és 63 karakter közötti hosszúságúak maradnak
  • A tárolónevek csak kisbetűket, számokat vagy kötőjelet (-) tartalmazhatnak.
  • A tárolóneveknek kisbetűvel vagy számmal kell kezdődniük.

A létrehozás után a tároló URI-ja a következő formátumban van:

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

Tároló létrehozása

Szerezzen be egy Adatbázis-objektumot, majd hozzon létre egy tárolót:

  • createIfNotExists – Létrehoz egy tárolót, ha nem létezik. Ha létezik, adja vissza a tárolót.
  • create – Létrehoz egy tárolót. Ha létezik, adja vissza a statusCode hibakódot.
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 });

A statusCode egy HTTP-válaszkód. A sikeres válasz a 200–299 tartományba esik.

Tároló elérése

A tárolók közvetlenül vagy a CosmosClientvagy adatbázis-objektumokból láncolt tárolóobjektumból érhetők el.

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

Hozzáférés objektum szerint:

  • Tárolók (többes szám): Tárolók létrehozása vagy lekérdezése.
  • Tároló (singular): Tároló törlése, elemekkel végzett munka.

Tároló törlése

A Container objektum lekérése után a Container objektummal törölheti a tárolót:

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

A statusCode egy HTTP-válaszkód. A sikeres válasz a 200–299 tartományba esik.

Következő lépések

Most, hogy létrehozott egy tárolót, a következő útmutató segítségével hozzon létre elemeket.