ClickPipe 상태 업데이트
이 endpoint는 베타입니다. API 계약은 안정적이며, 앞으로 호환성이 깨지는 변경은 없을 것으로 예상됩니다.
ClickPipe를 시작, 중지 또는 resync합니다. ClickPipe를 중지하면 어떤 상태에서든 수집 프로세스가 중지됩니다. 시작은 “Stopped” 상태이거나 “Failed” 상태인 ClickPipe에서만 허용됩니다. resync는 Postgres 파이프에만 적용되며 어떤 상태에서든 수행할 수 있습니다.
PATCH
/
v1
/
organizations
/
{organizationId}
/
services
/
{serviceId}
/
clickpipes
/
{clickPipeId}
/
state
ClickPipe 상태 업데이트
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state"
payload = {}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state', 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/{serviceId}/clickpipes/{clickPipeId}/state",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
]),
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/{serviceId}/clickpipes/{clickPipeId}/state"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"createdAt": "<string>",
"destination": {
"columns": [
{
"name": "<string>",
"type": "<string>"
}
],
"database": "<string>",
"managedTable": true,
"table": "<string>",
"tableDefinition": {
"engine": {
"columnIds": [
"<string>"
],
"versionColumnId": "<string>"
},
"partitionBy": "<string>",
"primaryKey": "<string>",
"sortingKey": [
"<string>"
]
}
},
"fieldMappings": [
{
"destinationField": "<string>",
"sourceField": "<string>"
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"scaling": {
"concurrency": 123,
"replicaCpuMillicores": 1062,
"replicaMemoryGb": 4.25,
"replicas": 123
},
"serviceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settings": {
"clickhouse_max_download_threads": 4,
"clickhouse_max_insert_threads": 1,
"clickhouse_max_threads": 8,
"clickhouse_min_insert_block_size_bytes": 1073741824,
"clickhouse_parallel_distributed_insert_select": 2,
"clickhouse_parallel_view_processing": false,
"object_storage_concurrency": 1,
"object_storage_max_file_count": 100,
"object_storage_max_insert_bytes": 10737418240,
"object_storage_polling_interval_ms": 30000,
"object_storage_use_cluster_function": true,
"streaming_max_insert_wait_ms": 5000
},
"source": {
"kafka": {
"brokers": "<string>",
"caCertificate": "<string>",
"consumerGroup": "my-clickpipe-consumer-group",
"iamRole": "arn:aws:iam::123456789012:role/MyRole",
"offset": {
"timestamp": "2021-01-01T00:00"
},
"reversePrivateEndpointIds": [
"<string>"
],
"schemaRegistry": {
"authentication": "PLAIN",
"caCertificate": "<string>",
"url": "https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004"
},
"topics": "<string>"
},
"kinesis": {
"iamRole": "arn:aws:iam::123456789012:role/MyRole",
"region": "us-east-1",
"streamName": "my-stream",
"timestamp": 1615766400,
"useEnhancedFanOut": true
},
"objectStorage": {
"azureContainerName": "mycontainer",
"compression": "auto",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net",
"delimiter": ",",
"iamRole": "arn:aws:iam::123456789012:role/MyRole",
"isContinuous": true,
"path": "data/logs/*.json",
"queueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
"url": "https://datasets-documentation.s3.eu-west-3.amazonaws.com/http/**.ndjson.gz"
},
"postgres": {
"database": "<string>",
"host": "<string>",
"port": 123,
"settings": {
"allowNullableColumns": true,
"enableFailoverSlots": true,
"initialLoadParallelism": 123,
"publicationName": "<string>",
"pullBatchSize": 123,
"replicationSlotName": "<string>",
"snapshotNumRowsPerPartition": 123,
"snapshotNumberOfParallelTables": 123,
"syncIntervalSeconds": 123
},
"tableMappings": [
{
"excludedColumns": [
"<string>"
],
"sortingKeys": [
"<string>"
],
"sourceSchemaName": "<string>",
"sourceTable": "<string>",
"targetTable": "<string>",
"useCustomSortingKey": true
}
]
}
},
"state": "<string>",
"updatedAt": "<string>"
},
"status": 200
}{
"error": "<string>",
"status": 400
}인증
ClickHouse Cloud 콘솔에서 발급받은 키 ID와 키 시크릿을 사용하십시오: https://clickhouse.com/docs/cloud/manage/openapi
경로 매개변수
서비스를 소유한 조직의 ID입니다.
ClickPipe를 소유한 서비스의 ID입니다.
상태를 업데이트할 ClickPipe의 ID입니다.
본문
application/json
상태를 변경하는 명령입니다: 'start', 'stop', 'resync'.
사용 가능한 옵션:
start, stop, resync 마지막 수정일 2026년 6월 19일
이전
CDC ClickPipes 스케일링 조회**이 endpoint는 베타입니다.** API 계약은 안정적이며, 앞으로 호환성이 깨지는 변경은 없을 것으로 예상됩니다. <br /><br /> DB ClickPipes의 스케일링 설정을 조회합니다.
인프라는 초기 적재와 CDC 모두에서 서비스의 모든 DB ClickPipes 간에 공유됩니다. 청구 기준으로는 CPU 코어 2개와 RAM 8GB가 하나의 컴퓨트 유닛에 [해당합니다](https://clickhouse.com/docs/cloud/manage/billing/overview#clickpipes-for-postgres-cdc).
**이 endpoint는 하나 이상의 DB ClickPipe가 프로비저닝된 후에 사용할 수 있습니다.**
다음
⌘I
ClickPipe 상태 업데이트
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state"
payload = {}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state', 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/{serviceId}/clickpipes/{clickPipeId}/state",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
]),
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/{serviceId}/clickpipes/{clickPipeId}/state"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"createdAt": "<string>",
"destination": {
"columns": [
{
"name": "<string>",
"type": "<string>"
}
],
"database": "<string>",
"managedTable": true,
"table": "<string>",
"tableDefinition": {
"engine": {
"columnIds": [
"<string>"
],
"versionColumnId": "<string>"
},
"partitionBy": "<string>",
"primaryKey": "<string>",
"sortingKey": [
"<string>"
]
}
},
"fieldMappings": [
{
"destinationField": "<string>",
"sourceField": "<string>"
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"scaling": {
"concurrency": 123,
"replicaCpuMillicores": 1062,
"replicaMemoryGb": 4.25,
"replicas": 123
},
"serviceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settings": {
"clickhouse_max_download_threads": 4,
"clickhouse_max_insert_threads": 1,
"clickhouse_max_threads": 8,
"clickhouse_min_insert_block_size_bytes": 1073741824,
"clickhouse_parallel_distributed_insert_select": 2,
"clickhouse_parallel_view_processing": false,
"object_storage_concurrency": 1,
"object_storage_max_file_count": 100,
"object_storage_max_insert_bytes": 10737418240,
"object_storage_polling_interval_ms": 30000,
"object_storage_use_cluster_function": true,
"streaming_max_insert_wait_ms": 5000
},
"source": {
"kafka": {
"brokers": "<string>",
"caCertificate": "<string>",
"consumerGroup": "my-clickpipe-consumer-group",
"iamRole": "arn:aws:iam::123456789012:role/MyRole",
"offset": {
"timestamp": "2021-01-01T00:00"
},
"reversePrivateEndpointIds": [
"<string>"
],
"schemaRegistry": {
"authentication": "PLAIN",
"caCertificate": "<string>",
"url": "https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004"
},
"topics": "<string>"
},
"kinesis": {
"iamRole": "arn:aws:iam::123456789012:role/MyRole",
"region": "us-east-1",
"streamName": "my-stream",
"timestamp": 1615766400,
"useEnhancedFanOut": true
},
"objectStorage": {
"azureContainerName": "mycontainer",
"compression": "auto",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net",
"delimiter": ",",
"iamRole": "arn:aws:iam::123456789012:role/MyRole",
"isContinuous": true,
"path": "data/logs/*.json",
"queueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
"url": "https://datasets-documentation.s3.eu-west-3.amazonaws.com/http/**.ndjson.gz"
},
"postgres": {
"database": "<string>",
"host": "<string>",
"port": 123,
"settings": {
"allowNullableColumns": true,
"enableFailoverSlots": true,
"initialLoadParallelism": 123,
"publicationName": "<string>",
"pullBatchSize": 123,
"replicationSlotName": "<string>",
"snapshotNumRowsPerPartition": 123,
"snapshotNumberOfParallelTables": 123,
"syncIntervalSeconds": 123
},
"tableMappings": [
{
"excludedColumns": [
"<string>"
],
"sortingKeys": [
"<string>"
],
"sourceSchemaName": "<string>",
"sourceTable": "<string>",
"targetTable": "<string>",
"useCustomSortingKey": true
}
]
}
},
"state": "<string>",
"updatedAt": "<string>"
},
"status": 200
}{
"error": "<string>",
"status": 400
}