JavaScript를 사용하여 Azure Cosmos DB for NoSQL에서 컨테이너 만들기
적용 대상: NoSQL
Azure Cosmos DB의 컨테이너는 항목 세트를 저장합니다. 항목을 만들거나 쿼리하거나 관리하려면 먼저 컨테이너를 만들어야 합니다.
컨테이너 이름 지정
Azure Cosmos DB에서 컨테이너는 관계형 데이터베이스의 테이블과 유사합니다. 컨테이너를 만들 때 컨테이너 이름은 컨테이너 리소스 및 모든 자식 항목에 액세스하는 데 사용되는 URI의 세그먼트를 형성합니다.
만들어지면 컨테이너의 URI는 다음과 같은 형식입니다.
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
컨테이너 만들기
Database 개체를 가져온 다음, 컨테이너를 만듭니다.
- createIfNotExists - 컨테이너가 없으면 만듭니다. 있는 경우 컨테이너를 반환합니다.
- create - 컨테이너를 만듭니다. 있는 경우 오류 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 });
statusCode는 HTTP 응답 코드입니다. 성공적인 응답은 200-299 범위에 있습니다.
컨테이너 액세스
컨테이너는 Container 개체에서 직접 액세스하거나 CosmosClient 또는 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();
개체별 액세스:
- Containers(복수): 컨테이너를 만들거나 쿼리합니다.
- Container(단수): 컨테이너를 삭제하고 항목 작업을 수행합니다.
컨테이너 삭제
Container 개체를 가져오면 Container 개체를 사용하여 컨테이너를 삭제할 수 있습니다.
const { statusCode } = await container.delete();
statusCode는 HTTP 응답 코드입니다. 성공적인 응답은 200-299 범위에 있습니다.
다음 단계
이제 컨테이너를 만들았으므로 다음 가이드를 사용하여 항목을 만듭니다.