Escalonamento do ClickPipe
Este endpoint está em beta. O contrato da API é estável, e não são esperadas alterações incompatíveis no futuro.
Altere as configurações de escalonamento do ClickPipe especificado.
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"concurrency": 17,
"replicaCpuMillicores": 1062,
"replicaMemoryGb": 4.25,
"replicas": 5
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling"
payload = {
"concurrency": 17,
"replicaCpuMillicores": 1062,
"replicaMemoryGb": 4.25,
"replicas": 5
}
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({
concurrency: 17,
replicaCpuMillicores: 1062,
replicaMemoryGb: 4.25,
replicas: 5
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling', 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}/scaling",
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([
'concurrency' => 17,
'replicaCpuMillicores' => 1062,
'replicaMemoryGb' => 4.25,
'replicas' => 5
]),
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}/scaling"
payload := strings.NewReader("{\n \"concurrency\": 17,\n \"replicaCpuMillicores\": 1062,\n \"replicaMemoryGb\": 4.25,\n \"replicas\": 5\n}")
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}/scaling")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"concurrency\": 17,\n \"replicaCpuMillicores\": 1062,\n \"replicaMemoryGb\": 4.25,\n \"replicas\": 5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling")
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 = "{\n \"concurrency\": 17,\n \"replicaCpuMillicores\": 1062,\n \"replicaMemoryGb\": 4.25,\n \"replicas\": 5\n}"
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
}Autorizações
Use o ID da chave e o segredo da chave obtidos no console do ClickHouse Cloud: https://clickhouse.com/docs/cloud/manage/openapi
Parâmetros de caminho
ID da organização à qual o serviço pertence.
ID do serviço ao qual o ClickPipe pertence.
ID do ClickPipe cujas configurações de escalonamento devem ser atualizadas.
Corpo
Nível de concorrência para escalar. Use para escalar pipes do S3.
0 <= x <= 34CPU em millicores para cada réplica. Use para escalar pipes de streaming.
125 <= x <= 2000Memória em GB para cada réplica. Use para escalar pipes de streaming.
0.5 <= x <= 8Número de réplicas para escalar. Use para escalar pipes do Kafka.
1 <= x <= 10Esta página foi útil?
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"concurrency": 17,
"replicaCpuMillicores": 1062,
"replicaMemoryGb": 4.25,
"replicas": 5
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling"
payload = {
"concurrency": 17,
"replicaCpuMillicores": 1062,
"replicaMemoryGb": 4.25,
"replicas": 5
}
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({
concurrency: 17,
replicaCpuMillicores: 1062,
replicaMemoryGb: 4.25,
replicas: 5
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling', 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}/scaling",
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([
'concurrency' => 17,
'replicaCpuMillicores' => 1062,
'replicaMemoryGb' => 4.25,
'replicas' => 5
]),
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}/scaling"
payload := strings.NewReader("{\n \"concurrency\": 17,\n \"replicaCpuMillicores\": 1062,\n \"replicaMemoryGb\": 4.25,\n \"replicas\": 5\n}")
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}/scaling")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"concurrency\": 17,\n \"replicaCpuMillicores\": 1062,\n \"replicaMemoryGb\": 4.25,\n \"replicas\": 5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling")
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 = "{\n \"concurrency\": 17,\n \"replicaCpuMillicores\": 1062,\n \"replicaMemoryGb\": 4.25,\n \"replicas\": 5\n}"
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
}