다음을 통해 공유


.NET을 사용하여 Azure Cosmos DB for NoSQL에서 데이터베이스 만들기

적용 대상: NoSQL

Azure Cosmos DB의 데이터베이스는 하나 이상의 컨테이너에 대한 관리 단위입니다. 컨테이너를 만들거나 관리하려면 먼저 데이터베이스를 만들어야 합니다.

데이터베이스 이름 지정

Azure Cosmos DB에서 데이터베이스는 네임스페이스와 유사합니다. 데이터베이스를 만들 때 데이터베이스 이름은 데이터베이스 리소스 및 모든 자식 리소스에 액세스하는 데 사용되는 URI 세그먼트를 형성합니다.

다음은 데이터베이스 이름을 지정할 때의 몇 가지 빠른 규칙입니다.

  • 데이터베이스 이름은 비어 있지 않아야 합니다.
  • 데이터베이스 이름은 256자보다 길 수 없습니다.

만들어지면 데이터베이스에 대한 URI는 다음과 같은 형식입니다.

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

데이터베이스 이름 제한에 대한 자세한 내용은 서비스 할당량 및 제한을 참조하세요.

데이터베이스 만들기

데이터베이스를 만들려면 다음 메서드 중 하나를 호출합니다.

비동기적으로 데이터베이스 만들기

다음 예제에서는 데이터베이스를 비동기적으로 만듭니다.

// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
    id: "adventureworks-1"
);

동일한 이름의 데이터베이스가 이미 있는 경우 CosmosClient.CreateDatabaseAsync 메서드는 예외를 throw합니다.

데이터베이스가 아직 없는 경우 비동기적으로 데이터베이스 만들기

다음 예제에서는 계정에 데이터베이스가 아직 없는 경우에만 비동기적으로 데이터베이스를 만듭니다.

// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-2"
);

CosmosClient.CreateDatabaseIfNotExistsAsync 메서드는 새 데이터베이스가 아직 없는 경우에만 만듭니다. 이 메서드는 동일한 코드를 여러 번 실행하는 경우 오류를 방지하는 데 유용합니다.

응답 구문 분석

지금까지의 모든 예제에서 비동기 요청의 응답은 즉시 Database 형식으로 캐스팅되었습니다. 헤더 및 HTTP 상태 코드를 포함하여 응답에 대한 메타데이터를 구문 분석할 수 있습니다. CosmosClient.CreateDatabaseAsyncCosmosClient.CreateDatabaseIfNotExistsAsync 메서드의 실제 반환 형식은 DatabaseResponse입니다.

다음 예제에서는 DatabaseResponse를 반환하는 CosmosClient.CreateDatabaseIfNotExistsAsync 메서드를 보여 줍니다. 반환되면 응답 속성을 구문 분석한 다음, 결국 기본 Database 개체를 가져올 수 있습니다.

// New instance of Database response class referencing the server-side database
DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-3"
);
// Parse additional response properties
Database database3 = response.Database;

다음 단계

이제 데이터베이스를 만들었으므로 다음 가이드를 사용하여 컨테이너를 만듭니다.