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>
데이터베이스 만들기
CosmosClient를 만든 후에는 클라이언트를 사용하여 두 개의 서로 다른 호출에서 데이터베이스를 만듭니다.
- createIfNotExists - 데이터베이스가 없으면 만듭니다. 있는 경우 데이터베이스를 반환합니다.
- create - 데이터베이스를 만듭니다. 있는 경우 오류 statusCode를 반환합니다.
const databaseName = 'myDb';
// Possible results:
// Create then return database
// Return existing database
// Return error statusCode
const {statusCode, database } = await client.databases.createIfNotExists({ id: databaseName });
// Possible results:
// Create then return database
// Return error statusCode, reason includes database already exists
const {statusCode, database } = await client.databases.create({ id: databaseName });
statusCode는 HTTP 응답 코드입니다. 성공적인 응답은 200-299 범위에 있습니다.
데이터베이스 액세스
데이터베이스는 직접 또는 CosmosClient의 쿼리 결과를 통해 Database 개체에서 액세스됩니다.
const databaseName = 'myDb';
// Direct - assumes database already exists
const { database, statusCode } = await client.database(databaseName);
// Query - assumes database already exists
const { resources } = await client.databases
.query({
query: `SELECT * FROM root r where r.id =@dbId`,
parameters: [
{
name: '@dbId',
value: databaseName
}
]
})
.fetchAll();
개체별 액세스:
- Databases(복수): 새 데이터베이스를 만들거나 모든 데이터베이스를 쿼리/읽는 데 사용됩니다.
- Database(단수): ID로 기존 데이터베이스를 읽거나 업데이트하거나 삭제하거나 해당 데이터베이스에 속한 컨테이너에 액세스하는 데 사용됩니다.
데이터베이스 삭제
Database 개체를 가져오는 경우 Database 개체를 사용하여 데이터베이스를 삭제할 수 있습니다.
const {statusCode } = await database.delete();
statusCode는 HTTP 응답 코드입니다. 성공적인 응답은 200-299 범위에 있습니다.
다음 단계
이제 데이터베이스를 만들었으므로 다음 가이드를 사용하여 컨테이너를 만듭니다.