메인 콘텐츠로 건너뛰기
POST
/
v1
/
organizations
/
{organizationId}
/
services
새 서비스 생성
curl --request POST \
  --url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "backupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "byocId": "<string>",
  "dataWarehouseId": "<string>",
  "encryptionAssumedRoleIdentifier": "<string>",
  "encryptionKey": "<string>",
  "endpoints": [
    {
      "enabled": true,
      "protocol": "mysql"
    }
  ],
  "hasTransparentDataEncryption": true,
  "idleScaling": true,
  "idleTimeoutMinutes": 123,
  "ipAccessList": [
    {
      "description": "<string>",
      "source": "<string>"
    }
  ],
  "isReadonly": true,
  "maxReplicaMemoryGb": 120,
  "maxTotalMemoryGb": 360,
  "minReplicaMemoryGb": 16,
  "minTotalMemoryGb": 48,
  "name": "<string>",
  "numReplicas": 3,
  "privateEndpointIds": [
    "<string>"
  ],
  "privatePreviewTermsChecked": true
}
'
import requests

url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services"

payload = {
"backupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"byocId": "<string>",
"dataWarehouseId": "<string>",
"encryptionAssumedRoleIdentifier": "<string>",
"encryptionKey": "<string>",
"endpoints": [
{
"enabled": True,
"protocol": "mysql"
}
],
"hasTransparentDataEncryption": True,
"idleScaling": True,
"idleTimeoutMinutes": 123,
"ipAccessList": [
{
"description": "<string>",
"source": "<string>"
}
],
"isReadonly": True,
"maxReplicaMemoryGb": 120,
"maxTotalMemoryGb": 360,
"minReplicaMemoryGb": 16,
"minTotalMemoryGb": 48,
"name": "<string>",
"numReplicas": 3,
"privateEndpointIds": ["<string>"],
"privatePreviewTermsChecked": True
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
backupId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
byocId: '<string>',
dataWarehouseId: '<string>',
encryptionAssumedRoleIdentifier: '<string>',
encryptionKey: '<string>',
endpoints: [{enabled: true, protocol: 'mysql'}],
hasTransparentDataEncryption: true,
idleScaling: true,
idleTimeoutMinutes: 123,
ipAccessList: [{description: '<string>', source: '<string>'}],
isReadonly: true,
maxReplicaMemoryGb: 120,
maxTotalMemoryGb: 360,
minReplicaMemoryGb: 16,
minTotalMemoryGb: 48,
name: '<string>',
numReplicas: 3,
privateEndpointIds: ['<string>'],
privatePreviewTermsChecked: true
})
};

fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'backupId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'byocId' => '<string>',
'dataWarehouseId' => '<string>',
'encryptionAssumedRoleIdentifier' => '<string>',
'encryptionKey' => '<string>',
'endpoints' => [
[
'enabled' => true,
'protocol' => 'mysql'
]
],
'hasTransparentDataEncryption' => true,
'idleScaling' => true,
'idleTimeoutMinutes' => 123,
'ipAccessList' => [
[
'description' => '<string>',
'source' => '<string>'
]
],
'isReadonly' => true,
'maxReplicaMemoryGb' => 120,
'maxTotalMemoryGb' => 360,
'minReplicaMemoryGb' => 16,
'minTotalMemoryGb' => 48,
'name' => '<string>',
'numReplicas' => 3,
'privateEndpointIds' => [
'<string>'
],
'privatePreviewTermsChecked' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services"

payload := strings.NewReader("{\n \"backupId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"byocId\": \"<string>\",\n \"dataWarehouseId\": \"<string>\",\n \"encryptionAssumedRoleIdentifier\": \"<string>\",\n \"encryptionKey\": \"<string>\",\n \"endpoints\": [\n {\n \"enabled\": true,\n \"protocol\": \"mysql\"\n }\n ],\n \"hasTransparentDataEncryption\": true,\n \"idleScaling\": true,\n \"idleTimeoutMinutes\": 123,\n \"ipAccessList\": [\n {\n \"description\": \"<string>\",\n \"source\": \"<string>\"\n }\n ],\n \"isReadonly\": true,\n \"maxReplicaMemoryGb\": 120,\n \"maxTotalMemoryGb\": 360,\n \"minReplicaMemoryGb\": 16,\n \"minTotalMemoryGb\": 48,\n \"name\": \"<string>\",\n \"numReplicas\": 3,\n \"privateEndpointIds\": [\n \"<string>\"\n ],\n \"privatePreviewTermsChecked\": true\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"backupId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"byocId\": \"<string>\",\n \"dataWarehouseId\": \"<string>\",\n \"encryptionAssumedRoleIdentifier\": \"<string>\",\n \"encryptionKey\": \"<string>\",\n \"endpoints\": [\n {\n \"enabled\": true,\n \"protocol\": \"mysql\"\n }\n ],\n \"hasTransparentDataEncryption\": true,\n \"idleScaling\": true,\n \"idleTimeoutMinutes\": 123,\n \"ipAccessList\": [\n {\n \"description\": \"<string>\",\n \"source\": \"<string>\"\n }\n ],\n \"isReadonly\": true,\n \"maxReplicaMemoryGb\": 120,\n \"maxTotalMemoryGb\": 360,\n \"minReplicaMemoryGb\": 16,\n \"minTotalMemoryGb\": 48,\n \"name\": \"<string>\",\n \"numReplicas\": 3,\n \"privateEndpointIds\": [\n \"<string>\"\n ],\n \"privatePreviewTermsChecked\": true\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"backupId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"byocId\": \"<string>\",\n \"dataWarehouseId\": \"<string>\",\n \"encryptionAssumedRoleIdentifier\": \"<string>\",\n \"encryptionKey\": \"<string>\",\n \"endpoints\": [\n {\n \"enabled\": true,\n \"protocol\": \"mysql\"\n }\n ],\n \"hasTransparentDataEncryption\": true,\n \"idleScaling\": true,\n \"idleTimeoutMinutes\": 123,\n \"ipAccessList\": [\n {\n \"description\": \"<string>\",\n \"source\": \"<string>\"\n }\n ],\n \"isReadonly\": true,\n \"maxReplicaMemoryGb\": 120,\n \"maxTotalMemoryGb\": 360,\n \"minReplicaMemoryGb\": 16,\n \"minTotalMemoryGb\": 48,\n \"name\": \"<string>\",\n \"numReplicas\": 3,\n \"privateEndpointIds\": [\n \"<string>\"\n ],\n \"privatePreviewTermsChecked\": true\n}"

response = http.request(request)
puts response.read_body
{
  "requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "result": {
    "password": "<string>",
    "service": {
      "availablePrivateEndpointIds": [
        "<string>"
      ],
      "byocId": "<string>",
      "clickhouseVersion": "<string>",
      "createdAt": "2023-11-07T05:31:56Z",
      "dataWarehouseId": "<string>",
      "encryptionAssumedRoleIdentifier": "<string>",
      "encryptionKey": "<string>",
      "encryptionRoleId": "<string>",
      "endpoints": [
        {
          "host": "<string>",
          "port": 123,
          "protocol": "mysql",
          "username": "<string>"
        }
      ],
      "hasTransparentDataEncryption": true,
      "iamRole": "<string>",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "idleScaling": true,
      "idleTimeoutMinutes": 123,
      "ipAccessList": [
        {
          "description": "<string>",
          "source": "<string>"
        }
      ],
      "isPrimary": true,
      "isReadonly": true,
      "maxReplicaMemoryGb": 120,
      "maxTotalMemoryGb": 360,
      "minReplicaMemoryGb": 16,
      "minTotalMemoryGb": 48,
      "name": "<string>",
      "numReplicas": 3,
      "privateEndpointIds": [
        "<string>"
      ],
      "transparentDataEncryptionKeyId": "<string>"
    }
  },
  "status": 200
}
{
"error": "<string>",
"status": 400
}

인증

Authorization
string
header
필수

ClickHouse Cloud 콘솔에서 발급받은 키 ID와 키 시크릿을 사용하십시오: https://clickhouse.com/docs/cloud/manage/openapi

경로 매개변수

organizationId
string<uuid>
필수

서비스를 소유할 조직의 ID입니다.

본문

application/json
backupId
string<uuid>

새 서비스의 초기 상태로 사용할 선택적 Backup ID입니다. 이를 사용하는 경우 새 instance의 Region과 tier는 원본 instance의 값과 같아야 합니다.

byocId
string

Bring Your Own Cloud (BYOC)의 Region을 설정한 후 반환되는 ID입니다. byocId 매개변수를 지정하면 minReplicaMemoryGb 및 maxReplicaGb 매개변수도 함께 지정해야 하며, 값은 다음 크기 중 하나여야 합니다: 48, 116, 172, 232.

complianceType
enum<string>

서비스의 규제 컴플라이언스 유형입니다.

사용 가능한 옵션:
hipaa,
pci
dataWarehouseId
string

이 서비스를 포함하는 데이터 warehouse입니다.

encryptionAssumedRoleIdentifier
string

디스크 암호화에 사용할 선택적 역할

encryptionKey
string

고객이 제공하는 선택적 디스크 암호화 키

endpoints
object[]

활성화하거나 비활성화할 서비스 endpoints 목록

hasTransparentDataEncryption
boolean

서비스에서 Transparent Data Encryption (TDE)을 활성화해야 하면 true입니다. TDE는 ENTERPRISE 조직 tier에서만 사용할 수 있으며 서비스 생성 시에만 활성화할 수 있습니다.

idleScaling
boolean

true로 설정하면 서비스가 유휴 상태일 때 0까지 scale down할 수 있습니다. 기본값은 true입니다.

idleTimeoutMinutes
number

최소 유휴 상태 전환 timeout(분)을 설정합니다. 5분 이상이어야 합니다.

ipAccessList
object[]

서비스에 액세스할 수 있도록 허용된 IP 주소 목록

isReadonly
boolean

이 서비스가 읽기 전용이면 true입니다. dataWarehouseId가 제공된 경우에만 읽기 전용일 수 있습니다.

maxReplicaMemoryGb
number

자동 스케일링 중 각 레플리카의 최대 총 메모리(GB)입니다. 4의 배수여야 하며, 비유료 서비스는 120* 이하여야 하고 유료 서비스는 356* 이하여야 합니다. * - 최대 레플리카 크기는 선택한 Region에서 클라우드 제공업체의 하드웨어 가용성에 따라 달라집니다.

필수 범위: 8 <= x <= 356다음의 배수여야 합니다 4
예시:

120

maxTotalMemoryGb
number
지원 중단

Deprecated - 기본값이 아닌 수의 레플리카를 사용하는 서비스에는 정확하지 않습니다. 자동 스케일링 중 3개의 worker에 대한 최대 메모리(GB)입니다. 'production' 서비스에서만 사용할 수 있습니다. 12의 배수여야 하며, 비유료 서비스는 360 이하여야 하고 유료 서비스는 1068 이하여야 합니다.

필수 범위: 24 <= x <= 1068다음의 배수여야 합니다 12
예시:

360

minReplicaMemoryGb
number

자동 스케일링 중 각 레플리카의 최소 총 메모리(GB)입니다. 4의 배수이면서 8 이상이어야 합니다.

필수 범위: 8 <= x <= 356다음의 배수여야 합니다 4
예시:

16

minTotalMemoryGb
number
지원 중단

Deprecated - 기본값이 아닌 수의 레플리카를 사용하는 서비스에는 정확하지 않습니다. 자동 스케일링 중 3개의 worker에 대한 최소 메모리(GB)입니다. 'production' 서비스에서만 사용할 수 있습니다. 12의 배수이면서 24 이상이어야 합니다.

필수 범위: 24 <= x <= 1068다음의 배수여야 합니다 12
예시:

48

name
string

서비스 이름입니다. 공백을 포함할 수 있는 최대 50자의 영숫자 문자열입니다.

numReplicas
number

서비스의 레플리카 수입니다. warehouse의 첫 번째 서비스는 레플리카 수가 2~20개여야 합니다. 기존 warehouse에 생성되는 서비스는 레플리카 수를 최소 1개로 설정할 수 있습니다. 조직의 tier에 따라 추가 제한이 적용될 수 있습니다. 기본값은 BASIC tier에서 1이고 SCALE 및 ENTERPRISE tier에서 3입니다.

필수 범위: 1 <= x <= 20
예시:

3

privateEndpointIds
string[]
지원 중단

서비스를 private endpoints와 연결하려면 먼저 서비스를 생성한 다음 Update Service Basic Details endpoint를 사용해 private endpoints를 수정하십시오.

privatePreviewTermsChecked
boolean

비공개 프리뷰 약관에 동의합니다. 비공개 프리뷰인 경우 조직에서 첫 번째 서비스를 생성할 때만 필요합니다.

profile
enum<string>

사용자 지정 인스턴스 프로필입니다. ENTERPRISE 조직 티어에서만 사용할 수 있습니다.

사용 가능한 옵션:
v1-default,
v1-highmem-xs,
v1-highmem-s,
v1-highmem-m,
v1-highmem-l,
v1-highmem-xl,
v1-highcpu-s,
v1-highcpu-m,
v1-highcpu-l,
v1-highcpu-xl
provider
enum<string>

클라우드 제공업체

사용 가능한 옵션:
aws,
gcp,
azure
region
enum<string>

서비스 Region입니다.

사용 가능한 옵션:
ap-northeast-1,
ap-south-1,
ap-southeast-1,
ap-southeast-2,
eu-central-1,
eu-west-1,
eu-west-2,
me-central-1,
us-east-1,
us-east-2,
us-west-2,
us-east1,
us-central1,
europe-west4,
asia-southeast1,
eastus,
eastus2,
westus3,
germanywestcentral
releaseChannel
enum<string>

새 ClickHouse releases를 제공되는 즉시 받으려면 fast를 선택하십시오. 새 기능을 더 빠르게 사용할 수 있지만 버그가 발생할 위험이 더 높습니다. 릴리스를 미뤄 테스트 시간을 더 확보하려면 slow를 선택하십시오. 이 기능은 production 서비스에서만 사용할 수 있습니다. 기본값은 정기 릴리스 채널입니다.

사용 가능한 옵션:
slow,
default,
fast
tier
enum<string>
지원 중단

BASIC, SCALE 및 ENTERPRISE 조직 tier에서는 Deprecated입니다. 서비스 tier: 'development', 'production', 'dedicated_high_mem', 'dedicated_high_cpu', 'dedicated_standard', 'dedicated_standard_n2d_standard_4', 'dedicated_standard_n2d_standard_8', 'dedicated_standard_n2d_standard_32', 'dedicated_standard_n2d_standard_128', 'dedicated_standard_n2d_standard_32_16SSD', 'dedicated_standard_n2d_standard_64_24SSD'. Production 서비스는 스케일링되며 Development는 크기가 고정됩니다. Azure 서비스는 Development tier를 지원하지 않습니다.

사용 가능한 옵션:
development,
production,
dedicated_high_mem,
dedicated_high_cpu,
dedicated_standard,
dedicated_standard_n2d_standard_4,
dedicated_standard_n2d_standard_8,
dedicated_standard_n2d_standard_32,
dedicated_standard_n2d_standard_128,
dedicated_standard_n2d_standard_32_16SSD,
dedicated_standard_n2d_standard_64_24SSD

응답

성공 응답

requestId
string<uuid>

각 요청에 할당되는 고유 ID입니다. UUIDv4

result
object
status
number

HTTP 상태 코드입니다.

예시:

200

마지막 수정일 2026년 6월 19일