Pular para o conteúdo principal
POST
/
v1
/
organizations
/
{organizationId}
/
services
/
{serviceId}
/
clickpipes
Criar ClickPipe
curl --request POST \
  --url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "destination": {
    "columns": [
      {
        "name": "<string>",
        "type": "<string>"
      }
    ],
    "database": "<string>",
    "managedTable": true,
    "roles": [
      "<string>"
    ],
    "table": "<string>",
    "tableDefinition": {
      "engine": {
        "columnIds": [
          "<string>"
        ],
        "versionColumnId": "<string>"
      },
      "partitionBy": "<string>",
      "primaryKey": "<string>",
      "sortingKey": [
        "<string>"
      ]
    }
  },
  "fieldMappings": [
    {
      "destinationField": "<string>",
      "sourceField": "<string>"
    }
  ],
  "name": "<string>",
  "scaling": {
    "concurrency": 123,
    "replicaCpuMillicores": 1062,
    "replicaMemoryGb": 4.25,
    "replicas": 123
  },
  "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",
      "credentials": {
        "password": "<string>",
        "username": "<string>"
      },
      "iamRole": "arn:aws:iam::123456789012:role/MyRole",
      "offset": {
        "timestamp": "2021-01-01T00:00"
      },
      "reversePrivateEndpointIds": [
        "<string>"
      ],
      "schemaRegistry": {
        "authentication": "PLAIN",
        "caCertificate": "<string>",
        "credentials": {
          "password": "<string>",
          "username": "<string>"
        },
        "url": "https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004"
      },
      "topics": "<string>"
    },
    "kinesis": {
      "accessKey": {
        "accessKeyId": "<string>",
        "secretKey": "<string>"
      },
      "iamRole": "arn:aws:iam::123456789012:role/MyRole",
      "region": "us-east-1",
      "streamName": "my-stream",
      "timestamp": 1615766400,
      "useEnhancedFanOut": true
    },
    "objectStorage": {
      "accessKey": {
        "accessKeyId": "<string>",
        "secretKey": "<string>"
      },
      "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": {
      "credentials": {
        "password": "<string>",
        "username": "<string>"
      },
      "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
        }
      ]
    },
    "validateSamples": true
  }
}
'
import requests

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

payload = {
    "destination": {
        "columns": [
            {
                "name": "<string>",
                "type": "<string>"
            }
        ],
        "database": "<string>",
        "managedTable": True,
        "roles": ["<string>"],
        "table": "<string>",
        "tableDefinition": {
            "engine": {
                "columnIds": ["<string>"],
                "versionColumnId": "<string>"
            },
            "partitionBy": "<string>",
            "primaryKey": "<string>",
            "sortingKey": ["<string>"]
        }
    },
    "fieldMappings": [
        {
            "destinationField": "<string>",
            "sourceField": "<string>"
        }
    ],
    "name": "<string>",
    "scaling": {
        "concurrency": 123,
        "replicaCpuMillicores": 1062,
        "replicaMemoryGb": 4.25,
        "replicas": 123
    },
    "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",
            "credentials": {
                "password": "<string>",
                "username": "<string>"
            },
            "iamRole": "arn:aws:iam::123456789012:role/MyRole",
            "offset": { "timestamp": "2021-01-01T00:00" },
            "reversePrivateEndpointIds": ["<string>"],
            "schemaRegistry": {
                "authentication": "PLAIN",
                "caCertificate": "<string>",
                "credentials": {
                    "password": "<string>",
                    "username": "<string>"
                },
                "url": "https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004"
            },
            "topics": "<string>"
        },
        "kinesis": {
            "accessKey": {
                "accessKeyId": "<string>",
                "secretKey": "<string>"
            },
            "iamRole": "arn:aws:iam::123456789012:role/MyRole",
            "region": "us-east-1",
            "streamName": "my-stream",
            "timestamp": 1615766400,
            "useEnhancedFanOut": True
        },
        "objectStorage": {
            "accessKey": {
                "accessKeyId": "<string>",
                "secretKey": "<string>"
            },
            "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": {
            "credentials": {
                "password": "<string>",
                "username": "<string>"
            },
            "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
                }
            ]
        },
        "validateSamples": 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({
    destination: {
      columns: [{name: '<string>', type: '<string>'}],
      database: '<string>',
      managedTable: true,
      roles: ['<string>'],
      table: '<string>',
      tableDefinition: {
        engine: {columnIds: ['<string>'], versionColumnId: '<string>'},
        partitionBy: '<string>',
        primaryKey: '<string>',
        sortingKey: ['<string>']
      }
    },
    fieldMappings: [{destinationField: '<string>', sourceField: '<string>'}],
    name: '<string>',
    scaling: {
      concurrency: 123,
      replicaCpuMillicores: 1062,
      replicaMemoryGb: 4.25,
      replicas: 123
    },
    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',
        credentials: {password: '<string>', username: '<string>'},
        iamRole: 'arn:aws:iam::123456789012:role/MyRole',
        offset: {timestamp: '2021-01-01T00:00'},
        reversePrivateEndpointIds: ['<string>'],
        schemaRegistry: {
          authentication: 'PLAIN',
          caCertificate: '<string>',
          credentials: {password: '<string>', username: '<string>'},
          url: 'https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004'
        },
        topics: '<string>'
      },
      kinesis: {
        accessKey: {accessKeyId: '<string>', secretKey: '<string>'},
        iamRole: 'arn:aws:iam::123456789012:role/MyRole',
        region: 'us-east-1',
        streamName: 'my-stream',
        timestamp: 1615766400,
        useEnhancedFanOut: true
      },
      objectStorage: {
        accessKey: {accessKeyId: '<string>', secretKey: '<string>'},
        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: {
        credentials: {password: '<string>', username: '<string>'},
        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
          }
        ]
      },
      validateSamples: true
    }
  })
};

fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipes', 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",
  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([
    'destination' => [
        'columns' => [
                [
                                'name' => '<string>',
                                'type' => '<string>'
                ]
        ],
        'database' => '<string>',
        'managedTable' => true,
        'roles' => [
                '<string>'
        ],
        'table' => '<string>',
        'tableDefinition' => [
                'engine' => [
                                'columnIds' => [
                                                                '<string>'
                                ],
                                'versionColumnId' => '<string>'
                ],
                'partitionBy' => '<string>',
                'primaryKey' => '<string>',
                'sortingKey' => [
                                '<string>'
                ]
        ]
    ],
    'fieldMappings' => [
        [
                'destinationField' => '<string>',
                'sourceField' => '<string>'
        ]
    ],
    'name' => '<string>',
    'scaling' => [
        'concurrency' => 123,
        'replicaCpuMillicores' => 1062,
        'replicaMemoryGb' => 4.25,
        'replicas' => 123
    ],
    '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',
                'credentials' => [
                                'password' => '<string>',
                                'username' => '<string>'
                ],
                'iamRole' => 'arn:aws:iam::123456789012:role/MyRole',
                'offset' => [
                                'timestamp' => '2021-01-01T00:00'
                ],
                'reversePrivateEndpointIds' => [
                                '<string>'
                ],
                'schemaRegistry' => [
                                'authentication' => 'PLAIN',
                                'caCertificate' => '<string>',
                                'credentials' => [
                                                                'password' => '<string>',
                                                                'username' => '<string>'
                                ],
                                'url' => 'https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004'
                ],
                'topics' => '<string>'
        ],
        'kinesis' => [
                'accessKey' => [
                                'accessKeyId' => '<string>',
                                'secretKey' => '<string>'
                ],
                'iamRole' => 'arn:aws:iam::123456789012:role/MyRole',
                'region' => 'us-east-1',
                'streamName' => 'my-stream',
                'timestamp' => 1615766400,
                'useEnhancedFanOut' => true
        ],
        'objectStorage' => [
                'accessKey' => [
                                'accessKeyId' => '<string>',
                                'secretKey' => '<string>'
                ],
                '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' => [
                'credentials' => [
                                'password' => '<string>',
                                'username' => '<string>'
                ],
                '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
                                ]
                ]
        ],
        'validateSamples' => 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/{serviceId}/clickpipes"

	payload := strings.NewReader("{\n  \"destination\": {\n    \"columns\": [\n      {\n        \"name\": \"<string>\",\n        \"type\": \"<string>\"\n      }\n    ],\n    \"database\": \"<string>\",\n    \"managedTable\": true,\n    \"roles\": [\n      \"<string>\"\n    ],\n    \"table\": \"<string>\",\n    \"tableDefinition\": {\n      \"engine\": {\n        \"columnIds\": [\n          \"<string>\"\n        ],\n        \"versionColumnId\": \"<string>\"\n      },\n      \"partitionBy\": \"<string>\",\n      \"primaryKey\": \"<string>\",\n      \"sortingKey\": [\n        \"<string>\"\n      ]\n    }\n  },\n  \"fieldMappings\": [\n    {\n      \"destinationField\": \"<string>\",\n      \"sourceField\": \"<string>\"\n    }\n  ],\n  \"name\": \"<string>\",\n  \"scaling\": {\n    \"concurrency\": 123,\n    \"replicaCpuMillicores\": 1062,\n    \"replicaMemoryGb\": 4.25,\n    \"replicas\": 123\n  },\n  \"settings\": {\n    \"clickhouse_max_download_threads\": 4,\n    \"clickhouse_max_insert_threads\": 1,\n    \"clickhouse_max_threads\": 8,\n    \"clickhouse_min_insert_block_size_bytes\": 1073741824,\n    \"clickhouse_parallel_distributed_insert_select\": 2,\n    \"clickhouse_parallel_view_processing\": false,\n    \"object_storage_concurrency\": 1,\n    \"object_storage_max_file_count\": 100,\n    \"object_storage_max_insert_bytes\": 10737418240,\n    \"object_storage_polling_interval_ms\": 30000,\n    \"object_storage_use_cluster_function\": true,\n    \"streaming_max_insert_wait_ms\": 5000\n  },\n  \"source\": {\n    \"kafka\": {\n      \"brokers\": \"<string>\",\n      \"caCertificate\": \"<string>\",\n      \"consumerGroup\": \"my-clickpipe-consumer-group\",\n      \"credentials\": {\n        \"password\": \"<string>\",\n        \"username\": \"<string>\"\n      },\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"offset\": {\n        \"timestamp\": \"2021-01-01T00:00\"\n      },\n      \"reversePrivateEndpointIds\": [\n        \"<string>\"\n      ],\n      \"schemaRegistry\": {\n        \"authentication\": \"PLAIN\",\n        \"caCertificate\": \"<string>\",\n        \"credentials\": {\n          \"password\": \"<string>\",\n          \"username\": \"<string>\"\n        },\n        \"url\": \"https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004\"\n      },\n      \"topics\": \"<string>\"\n    },\n    \"kinesis\": {\n      \"accessKey\": {\n        \"accessKeyId\": \"<string>\",\n        \"secretKey\": \"<string>\"\n      },\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"region\": \"us-east-1\",\n      \"streamName\": \"my-stream\",\n      \"timestamp\": 1615766400,\n      \"useEnhancedFanOut\": true\n    },\n    \"objectStorage\": {\n      \"accessKey\": {\n        \"accessKeyId\": \"<string>\",\n        \"secretKey\": \"<string>\"\n      },\n      \"azureContainerName\": \"mycontainer\",\n      \"compression\": \"auto\",\n      \"connectionString\": \"DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net\",\n      \"delimiter\": \",\",\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"isContinuous\": true,\n      \"path\": \"data/logs/*.json\",\n      \"queueUrl\": \"https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue\",\n      \"url\": \"https://datasets-documentation.s3.eu-west-3.amazonaws.com/http/**.ndjson.gz\"\n    },\n    \"postgres\": {\n      \"credentials\": {\n        \"password\": \"<string>\",\n        \"username\": \"<string>\"\n      },\n      \"database\": \"<string>\",\n      \"host\": \"<string>\",\n      \"port\": 123,\n      \"settings\": {\n        \"allowNullableColumns\": true,\n        \"enableFailoverSlots\": true,\n        \"initialLoadParallelism\": 123,\n        \"publicationName\": \"<string>\",\n        \"pullBatchSize\": 123,\n        \"replicationSlotName\": \"<string>\",\n        \"snapshotNumRowsPerPartition\": 123,\n        \"snapshotNumberOfParallelTables\": 123,\n        \"syncIntervalSeconds\": 123\n      },\n      \"tableMappings\": [\n        {\n          \"excludedColumns\": [\n            \"<string>\"\n          ],\n          \"sortingKeys\": [\n            \"<string>\"\n          ],\n          \"sourceSchemaName\": \"<string>\",\n          \"sourceTable\": \"<string>\",\n          \"targetTable\": \"<string>\",\n          \"useCustomSortingKey\": true\n        }\n      ]\n    },\n    \"validateSamples\": true\n  }\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/{serviceId}/clickpipes")
  .header("Authorization", "Basic <encoded-value>")
  .header("Content-Type", "application/json")
  .body("{\n  \"destination\": {\n    \"columns\": [\n      {\n        \"name\": \"<string>\",\n        \"type\": \"<string>\"\n      }\n    ],\n    \"database\": \"<string>\",\n    \"managedTable\": true,\n    \"roles\": [\n      \"<string>\"\n    ],\n    \"table\": \"<string>\",\n    \"tableDefinition\": {\n      \"engine\": {\n        \"columnIds\": [\n          \"<string>\"\n        ],\n        \"versionColumnId\": \"<string>\"\n      },\n      \"partitionBy\": \"<string>\",\n      \"primaryKey\": \"<string>\",\n      \"sortingKey\": [\n        \"<string>\"\n      ]\n    }\n  },\n  \"fieldMappings\": [\n    {\n      \"destinationField\": \"<string>\",\n      \"sourceField\": \"<string>\"\n    }\n  ],\n  \"name\": \"<string>\",\n  \"scaling\": {\n    \"concurrency\": 123,\n    \"replicaCpuMillicores\": 1062,\n    \"replicaMemoryGb\": 4.25,\n    \"replicas\": 123\n  },\n  \"settings\": {\n    \"clickhouse_max_download_threads\": 4,\n    \"clickhouse_max_insert_threads\": 1,\n    \"clickhouse_max_threads\": 8,\n    \"clickhouse_min_insert_block_size_bytes\": 1073741824,\n    \"clickhouse_parallel_distributed_insert_select\": 2,\n    \"clickhouse_parallel_view_processing\": false,\n    \"object_storage_concurrency\": 1,\n    \"object_storage_max_file_count\": 100,\n    \"object_storage_max_insert_bytes\": 10737418240,\n    \"object_storage_polling_interval_ms\": 30000,\n    \"object_storage_use_cluster_function\": true,\n    \"streaming_max_insert_wait_ms\": 5000\n  },\n  \"source\": {\n    \"kafka\": {\n      \"brokers\": \"<string>\",\n      \"caCertificate\": \"<string>\",\n      \"consumerGroup\": \"my-clickpipe-consumer-group\",\n      \"credentials\": {\n        \"password\": \"<string>\",\n        \"username\": \"<string>\"\n      },\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"offset\": {\n        \"timestamp\": \"2021-01-01T00:00\"\n      },\n      \"reversePrivateEndpointIds\": [\n        \"<string>\"\n      ],\n      \"schemaRegistry\": {\n        \"authentication\": \"PLAIN\",\n        \"caCertificate\": \"<string>\",\n        \"credentials\": {\n          \"password\": \"<string>\",\n          \"username\": \"<string>\"\n        },\n        \"url\": \"https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004\"\n      },\n      \"topics\": \"<string>\"\n    },\n    \"kinesis\": {\n      \"accessKey\": {\n        \"accessKeyId\": \"<string>\",\n        \"secretKey\": \"<string>\"\n      },\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"region\": \"us-east-1\",\n      \"streamName\": \"my-stream\",\n      \"timestamp\": 1615766400,\n      \"useEnhancedFanOut\": true\n    },\n    \"objectStorage\": {\n      \"accessKey\": {\n        \"accessKeyId\": \"<string>\",\n        \"secretKey\": \"<string>\"\n      },\n      \"azureContainerName\": \"mycontainer\",\n      \"compression\": \"auto\",\n      \"connectionString\": \"DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net\",\n      \"delimiter\": \",\",\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"isContinuous\": true,\n      \"path\": \"data/logs/*.json\",\n      \"queueUrl\": \"https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue\",\n      \"url\": \"https://datasets-documentation.s3.eu-west-3.amazonaws.com/http/**.ndjson.gz\"\n    },\n    \"postgres\": {\n      \"credentials\": {\n        \"password\": \"<string>\",\n        \"username\": \"<string>\"\n      },\n      \"database\": \"<string>\",\n      \"host\": \"<string>\",\n      \"port\": 123,\n      \"settings\": {\n        \"allowNullableColumns\": true,\n        \"enableFailoverSlots\": true,\n        \"initialLoadParallelism\": 123,\n        \"publicationName\": \"<string>\",\n        \"pullBatchSize\": 123,\n        \"replicationSlotName\": \"<string>\",\n        \"snapshotNumRowsPerPartition\": 123,\n        \"snapshotNumberOfParallelTables\": 123,\n        \"syncIntervalSeconds\": 123\n      },\n      \"tableMappings\": [\n        {\n          \"excludedColumns\": [\n            \"<string>\"\n          ],\n          \"sortingKeys\": [\n            \"<string>\"\n          ],\n          \"sourceSchemaName\": \"<string>\",\n          \"sourceTable\": \"<string>\",\n          \"targetTable\": \"<string>\",\n          \"useCustomSortingKey\": true\n        }\n      ]\n    },\n    \"validateSamples\": true\n  }\n}")
  .asString();
require 'uri'
require 'net/http'

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

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  \"destination\": {\n    \"columns\": [\n      {\n        \"name\": \"<string>\",\n        \"type\": \"<string>\"\n      }\n    ],\n    \"database\": \"<string>\",\n    \"managedTable\": true,\n    \"roles\": [\n      \"<string>\"\n    ],\n    \"table\": \"<string>\",\n    \"tableDefinition\": {\n      \"engine\": {\n        \"columnIds\": [\n          \"<string>\"\n        ],\n        \"versionColumnId\": \"<string>\"\n      },\n      \"partitionBy\": \"<string>\",\n      \"primaryKey\": \"<string>\",\n      \"sortingKey\": [\n        \"<string>\"\n      ]\n    }\n  },\n  \"fieldMappings\": [\n    {\n      \"destinationField\": \"<string>\",\n      \"sourceField\": \"<string>\"\n    }\n  ],\n  \"name\": \"<string>\",\n  \"scaling\": {\n    \"concurrency\": 123,\n    \"replicaCpuMillicores\": 1062,\n    \"replicaMemoryGb\": 4.25,\n    \"replicas\": 123\n  },\n  \"settings\": {\n    \"clickhouse_max_download_threads\": 4,\n    \"clickhouse_max_insert_threads\": 1,\n    \"clickhouse_max_threads\": 8,\n    \"clickhouse_min_insert_block_size_bytes\": 1073741824,\n    \"clickhouse_parallel_distributed_insert_select\": 2,\n    \"clickhouse_parallel_view_processing\": false,\n    \"object_storage_concurrency\": 1,\n    \"object_storage_max_file_count\": 100,\n    \"object_storage_max_insert_bytes\": 10737418240,\n    \"object_storage_polling_interval_ms\": 30000,\n    \"object_storage_use_cluster_function\": true,\n    \"streaming_max_insert_wait_ms\": 5000\n  },\n  \"source\": {\n    \"kafka\": {\n      \"brokers\": \"<string>\",\n      \"caCertificate\": \"<string>\",\n      \"consumerGroup\": \"my-clickpipe-consumer-group\",\n      \"credentials\": {\n        \"password\": \"<string>\",\n        \"username\": \"<string>\"\n      },\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"offset\": {\n        \"timestamp\": \"2021-01-01T00:00\"\n      },\n      \"reversePrivateEndpointIds\": [\n        \"<string>\"\n      ],\n      \"schemaRegistry\": {\n        \"authentication\": \"PLAIN\",\n        \"caCertificate\": \"<string>\",\n        \"credentials\": {\n          \"password\": \"<string>\",\n          \"username\": \"<string>\"\n        },\n        \"url\": \"https://psrc-aa00.us-east-2.aws.confluent.cloud/schemas/ids/100004\"\n      },\n      \"topics\": \"<string>\"\n    },\n    \"kinesis\": {\n      \"accessKey\": {\n        \"accessKeyId\": \"<string>\",\n        \"secretKey\": \"<string>\"\n      },\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"region\": \"us-east-1\",\n      \"streamName\": \"my-stream\",\n      \"timestamp\": 1615766400,\n      \"useEnhancedFanOut\": true\n    },\n    \"objectStorage\": {\n      \"accessKey\": {\n        \"accessKeyId\": \"<string>\",\n        \"secretKey\": \"<string>\"\n      },\n      \"azureContainerName\": \"mycontainer\",\n      \"compression\": \"auto\",\n      \"connectionString\": \"DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net\",\n      \"delimiter\": \",\",\n      \"iamRole\": \"arn:aws:iam::123456789012:role/MyRole\",\n      \"isContinuous\": true,\n      \"path\": \"data/logs/*.json\",\n      \"queueUrl\": \"https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue\",\n      \"url\": \"https://datasets-documentation.s3.eu-west-3.amazonaws.com/http/**.ndjson.gz\"\n    },\n    \"postgres\": {\n      \"credentials\": {\n        \"password\": \"<string>\",\n        \"username\": \"<string>\"\n      },\n      \"database\": \"<string>\",\n      \"host\": \"<string>\",\n      \"port\": 123,\n      \"settings\": {\n        \"allowNullableColumns\": true,\n        \"enableFailoverSlots\": true,\n        \"initialLoadParallelism\": 123,\n        \"publicationName\": \"<string>\",\n        \"pullBatchSize\": 123,\n        \"replicationSlotName\": \"<string>\",\n        \"snapshotNumRowsPerPartition\": 123,\n        \"snapshotNumberOfParallelTables\": 123,\n        \"syncIntervalSeconds\": 123\n      },\n      \"tableMappings\": [\n        {\n          \"excludedColumns\": [\n            \"<string>\"\n          ],\n          \"sortingKeys\": [\n            \"<string>\"\n          ],\n          \"sourceSchemaName\": \"<string>\",\n          \"sourceTable\": \"<string>\",\n          \"targetTable\": \"<string>\",\n          \"useCustomSortingKey\": true\n        }\n      ]\n    },\n    \"validateSamples\": true\n  }\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

Authorization
string
header
obrigatório

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

organizationId
string<uuid>
obrigatório

ID da organização proprietária do serviço.

serviceId
string<uuid>
obrigatório

ID do serviço para o qual o ClickPipe será criado.

Corpo

application/json
destination
object
fieldMappings
object[]

Mapeamentos de campos do ClickPipe. Observe que todas as colunas de destino devem ser incluídas nos mapeamentos.

name
string

Nome do ClickPipe.

scaling
object
settings
object
source
object

Resposta

Resposta bem-sucedida

requestId
string<uuid>

ID único atribuído a cada solicitação. UUIDv4

result
object
status
number

Código de status HTTP.

Exemplo:

200

Última modificação em 2 de julho de 2026