curl لكل نوع من أنواع ClickPipe.
المصادقة
export KEY_ID=<your_key_id>
export KEY_SECRET=<your_key_secret>
export ORG_ID=<your_organization_id>
export SERVICE_ID=<your_service_id>
عنوان URL الأساسي
https://api.clickhouse.cloud/v1
نقاط النهاية
| الطريقة | المسار | الوصف |
|---|---|---|
GET | /organizations/{organizationId}/services/{serviceId}/clickpipes | عرض جميع ClickPipes |
POST | /organizations/{organizationId}/services/{serviceId}/clickpipes | إنشاء ClickPipe |
GET | /organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId} | الحصول على ClickPipe |
PATCH | /organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId} | تحديث ClickPipe |
DELETE | /organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId} | حذف ClickPipe |
GET | /organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/settings | الحصول على إعدادات ClickPipe |
PUT | /organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/settings | تحديث إعدادات ClickPipe |
PATCH | /organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/scaling | تحديث تحجيم ClickPipe |
PATCH | /organizations/{organizationId}/services/{serviceId}/clickpipes/{clickPipeId}/state | تحديث حالة ClickPipe (بدء/إيقاف) |
| الطريقة | المسار | الوصف |
|---|---|---|
GET | /organizations/{organizationId}/clickpipes/cdcScaling | الحصول على تحجيم ClickPipes الخاصة بـ CDC |
PATCH | /organizations/{organizationId}/clickpipes/cdcScaling | تحديث تحجيم ClickPipes الخاصة بـ CDC |
أمثلة
عرض ClickPipes
curl -u "$KEY_ID:$KEY_SECRET" \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
عرض تفاصيل ClickPipe
CLICKPIPE_ID=<your_clickpipe_id>
curl -u "$KEY_ID:$KEY_SECRET" \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes/$CLICKPIPE_ID"
إيقاف ClickPipe أو تشغيله
# Stop
curl -u "$KEY_ID:$KEY_SECRET" \
-X PATCH \
-H "Content-Type: application/json" \
-d '{"action": "stop"}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes/$CLICKPIPE_ID/state"
# Start
curl -u "$KEY_ID:$KEY_SECRET" \
-X PATCH \
-H "Content-Type: application/json" \
-d '{"action": "start"}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes/$CLICKPIPE_ID/state"
حذف ClickPipe
curl -u "$KEY_ID:$KEY_SECRET" \
-X DELETE \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes/$CLICKPIPE_ID"
إنشاء ClickPipes
POST /clickpipes باختلاف نوع المصدر. توضّح الأمثلة أدناه البنية الخاصة بكل نوع ClickPipe مدعوم. للاطلاع على مخططات JSON المعتمدة، راجع Swagger UI.
Kafka
kafka, confluent, msk, azureeventhub, redpanda, warpstream.
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My Kafka ClickPipe",
"source": {
"kafka": {
"type": "confluent",
"format": "JSONEachRow",
"brokers": "broker.example.com:9092",
"topics": "my_topic",
"consumerGroup": "clickpipes-consumer-group",
"authentication": "PLAIN",
"credentials": {
"username": "my_user",
"password": "my_password"
}
}
},
"destination": {
"table": "my_table",
"managedTable": true,
"tableDefinition": {
"engine": { "type": "MergeTree" }
},
"columns": [
{ "name": "id", "type": "UInt64" },
{ "name": "message", "type": "String" },
{ "name": "timestamp", "type": "DateTime" }
]
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
Amazon Kinesis
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My Kinesis ClickPipe",
"source": {
"kinesis": {
"format": "JSONEachRow",
"streamName": "my-stream",
"region": "us-east-1",
"iteratorType": "TRIM_HORIZON",
"authentication": "IAM_USER",
"accessKey": {
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"secretKey": "<secret_key>"
}
}
},
"destination": {
"table": "my_table",
"managedTable": true,
"tableDefinition": {
"engine": { "type": "MergeTree" }
},
"columns": [
{ "name": "id", "type": "UInt64" },
{ "name": "message", "type": "String" }
]
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
Amazon S3
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My S3 ClickPipe",
"source": {
"objectStorage": {
"type": "s3",
"url": "https://my-bucket.s3.amazonaws.com/data/*.json",
"format": "JSONEachRow",
"authentication": "IAM_USER",
"accessKey": {
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"secretKey": "<secret_key>"
}
}
},
"destination": {
"table": "my_table",
"managedTable": true,
"tableDefinition": {
"engine": { "type": "MergeTree" }
},
"columns": [
{ "name": "id", "type": "UInt64" },
{ "name": "message", "type": "String" }
]
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
Google Cloud Storage
serviceAccountKey هو المحتوى المُشفَّر بترميز base64 لملف مفتاح JSON خاص بحساب خدمة على GCP.
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My GCS ClickPipe",
"source": {
"objectStorage": {
"type": "gcs",
"url": "gs://my-bucket/data/*.json",
"format": "JSONEachRow",
"authentication": "SERVICE_ACCOUNT",
"serviceAccountKey": "<base64_encoded_service_account_json>"
}
},
"destination": {
"table": "my_table",
"managedTable": true,
"tableDefinition": {
"engine": { "type": "MergeTree" }
},
"columns": [
{ "name": "id", "type": "UInt64" },
{ "name": "message", "type": "String" }
]
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
Azure Blob Storage
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My Azure Blob ClickPipe",
"source": {
"objectStorage": {
"type": "azureblobstorage",
"azureContainerName": "my-container",
"path": "data/*.json",
"format": "JSONEachRow",
"authentication": "CONNECTION_STRING",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net"
}
},
"destination": {
"table": "my_table",
"managedTable": true,
"tableDefinition": {
"engine": { "type": "MergeTree" }
},
"columns": [
{ "name": "id", "type": "UInt64" },
{ "name": "message", "type": "String" }
]
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
CDC في Postgres
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My Postgres CDC ClickPipe",
"source": {
"postgres": {
"host": "postgres.example.com",
"port": 5432,
"database": "mydb",
"credentials": {
"username": "postgres_user",
"password": "<password>"
},
"settings": {
"replicationMode": "cdc"
},
"tableMappings": [
{
"sourceSchemaName": "public",
"sourceTable": "users",
"targetTable": "public_users"
}
]
}
},
"destination": {
"database": "default"
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
CDC في MySQL
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My MySQL CDC ClickPipe",
"source": {
"mysql": {
"host": "mysql.example.com",
"port": 3306,
"credentials": {
"username": "mysql_user",
"password": "<password>"
},
"settings": {
"replicationMode": "cdc"
},
"tableMappings": [
{
"sourceSchemaName": "mydb",
"sourceTable": "orders",
"targetTable": "mydb_orders"
}
]
}
},
"destination": {
"database": "default"
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
CDC في MongoDB
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My MongoDB CDC ClickPipe",
"source": {
"mongodb": {
"uri": "mongodb+srv://cluster0.example.mongodb.net",
"readPreference": "secondaryPreferred",
"credentials": {
"username": "mongo_user",
"password": "<password>"
},
"settings": {
"replicationMode": "cdc"
},
"tableMappings": [
{
"sourceDatabaseName": "mydb",
"sourceCollection": "users",
"targetTable": "mydb_users"
}
]
}
},
"destination": {
"database": "default"
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"
BigQuery
serviceAccountFile على المحتوى المشفَّر بترميز base64 لملف مفتاح JSON الخاص بحساب خدمة في GCP.
curl -u "$KEY_ID:$KEY_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"name": "My BigQuery ClickPipe",
"source": {
"bigquery": {
"snapshotStagingPath": "gs://my-staging-bucket/staging/",
"credentials": {
"serviceAccountFile": "<base64_encoded_service_account_json>"
},
"settings": {
"replicationMode": "snapshot"
},
"tableMappings": [
{
"sourceDatasetName": "my_dataset",
"sourceTable": "my_table",
"targetTable": "my_bigquery_table"
}
]
}
},
"destination": {
"database": "default"
}
}' \
"https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipes"