batchCreateDatabases

Prev Next

이 가이드는 API 명세를 기반으로 AI가 자동 생성했습니다.

VPC 환경에서 이용 가능합니다.

Ncloud 표준 표현을 적용한 API입니다.

여러 Database를 한 번에 생성합니다. 요청당 최대 10건이며 원자적으로 처리됩니다. 클러스터당 최대 1,000개까지 생성할 수 있습니다. 비동기(LRO)로 처리됩니다. Operation.metadata는 operationType=CREATE, resourceType=databases로 반환됩니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /clusters/{clusterName}/databases/batch-create

요청 헤더

Cloud DB Serverless API에서 공통으로 사용하는 헤더에 대한 정보는 Cloud DB Serverless 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
clusterName String Required 클러스터 이름 (cluster의 name)
  • 패턴: ^[a-z0-9-]+$
  • 길이: 3 ~ 30
  • <예시> new-cluster

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
databases List<CreateDatabaseRequest> Required 생성할 Database 목록
  • 항목 수: 1 ~ 10

CreateDatabaseRequest

Database 생성 요청

필드 타입 필수 여부 설명
name String Required Database 이름 (예약 스키마명 mysql·information_schema·performance_schema·sys 사용 불가)
  • 패턴: ^[A-Za-z0-9_]+$
  • 길이: 1 ~ 64
  • <예시> db

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://clouddb-serverless.apigw.ntruss.com/mysql/v1/clusters/new-cluster/databases/batch-create' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "databases": [
    {
      "name": "db"
    }
  ]
}'

응답

응답 형식을 설명합니다.

응답 헤더

응답 헤더에 대한 설명은 다음과 같습니다.

필드 필수 여부 설명
retry-after Optional 권장 폴링 간격 (초). done=false인 동안 이 간격으로 폴링 (202 응답)

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
id String (uuid) - Operation 식별자
  • <예시> 550e8400-e29b-41d4-a716-446655440000
done Boolean - 완료 여부
  • true | false
    • true: 완료
    • false: 진행 중
  • <예시> false
metadata Object - 작업 유형·대상 리소스·시각 등 Operation 부가 정보
metadata.operationType String - 작업 유형
  • CREATE | UPDATE | DELETE
    • CREATE: 생성
    • UPDATE: 변경
    • DELETE: 삭제
  • <예시> CREATE
metadata.resourceType String - 대상 리소스 (REST 경로의 리소스 세그먼트와 일치 — 컬렉션은 복수형, 싱글턴은 경로 그대로)
  • <예시> users
metadata.startDateTime String (date-time) - 작업 시작 시각 (RFC3339 UTC)
  • <예시> 2026-07-21T10:00:00Z
metadata.endDateTime String (date-time) | null - 완료 시각 (진행 중이면 null)
metadata.progress Integer (int32) | null - 진행률 (%) — 제공 가능한 작업에 한함
  • 범위: 0 ~ 100
results Map<Object> | null - 성공 결과. 요청 인덱스를 키로 하는 Map이며 단건 작업은 "0" 키 하나를 사용.
클러스터 작업(resourceType=clusters: 생성·복원·변경·삭제)만 값을 반환하며, 값은 대상 클러스터의 name 하나를 담은 객체.
그 외 리소스(users, databases, config, backups, imported-backups, logs, processes)의 작업은 null.
error Object - 실패 사유 (단건 작업)
error.errorCode String - 에러 코드
error.message String - 에러 메시지 (기본 영어, 다국어 지원 가능)
error.detail String - 에러 상세 정보 (기본 영어, 다국어 지원 가능)
error.fieldErrors List<FieldError> - 입력값 에러가 발생한 경우 각 필드별 에러 상세 정보 목록
failures Map<Error> | null - 일괄 작업의 index별 실패 사유

results

필드 타입 필수 여부 설명
name String - 작업 대상 클러스터 이름
  • <예시> new-cluster

FieldError

필드 에러 정보

필드 타입 필수 여부 설명
message String - 필드 에러 메시지 (기본 영어, 다국어 지원 가능)
field String - 입력값 검증 실패 시 해당 필드 이름

Error

에러 정보

필드 타입 필수 여부 설명
errorCode String - 에러 코드
message String - 에러 메시지 (기본 영어, 다국어 지원 가능)
detail String - 에러 상세 정보 (기본 영어, 다국어 지원 가능)
fieldErrors List<FieldError> - 입력값 에러가 발생한 경우 각 필드별 에러 상세 정보 목록

응답 상태 코드

Cloud DB Serverless API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Cloud DB Serverless 응답 상태 코드를 참조해 주십시오.

이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.

HTTP 상태 코드 코드 메시지 설명
400 partialFailure 일괄 요청의 일부 항목이 검증에 실패한 경우. failures에 index별 실패 사유 포함
409 Conflict The request could not be processed because of a conflict in the current status of the resource. 요청 항목 중 이미 존재하는 Database 이름이 있는 경우
409 ResourceInUse The specified resource is in use. 클러스터에 다른 작업이 진행 중인 경우

응답 예시

응답 예시는 다음과 같습니다.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "done": false,
  "metadata": {
    "operationType": "CREATE",
    "resourceType": "databases",
    "startDateTime": "2026-07-21T10:00:00Z"
  },
  "results": {
    "key": {
      "name": "new-cluster"
    }
  }
}