Қызмет данасына қосылу
Cloud ClickHouse екі протокол бойынша қосылымдарды қабылдайды: TCP және HTTP. Сервис данасына қосылым өзіне қол қойылған TLS сертификаты арқылы қорғалған.
Нұсқаулықта clickhouse-client (терминалдан қосылу үшін) және Python, Java, C++ және Go драйверлері (қолданба кодынан қосылу үшін) арқылы қосылу мысалдары келтірілген.
-
VK Cloud жеке кабинетіне өтіңіз.
-
Data Platform → Сервис даналары бөліміне өтіңіз. Қажетті Cloud ClickHouse данасының күйі
Белсендіекенін тексеріңіз. -
Сервис данасының Жалпы ақпарат қойындысындағы қажетті қосылым жолынан протоколға (TCP немесе HTTP) және TLS шифрлауының болуына қарай хост пен портты көшіріңіз.
-
Дерекқор атауын, сондай-ақ Cloud ClickHouse пайдаланушы тіркелгісінің логині мен құпиясөзін дайындаңыз. Бұл мына пайдаланушылардың бірі болуы мүмкін:
- дананы жасау кезінде көрсетілген пайдаланушы;
- қолмен данаға қосылған қосымша пайдаланушы.
Келесі әрекеттер қосылу әдісіне байланысты:
Әр қосылу мысалын орындағаннан кейін Cloud ClickHouse нұсқасы көрсетіледі.
clickhouse-client Cloud ClickHouse данасына TCP арқылы қосылуға мүмкіндік береді. Дана нұсқасымен бірдей клиент нұсқасын пайдалану ұсынылады. Ең төменгі талап — нұсқаның алғашқы екі саны сәйкес келуі: 24.3.18.7 нұсқасындағы дана үшін 24.3.0.0 немесе одан жоғары клиентті, 25.3.14.14 нұсқасы үшін 25.3.0.0 немесе одан жоғары клиентті пайдаланыңыз.
-
Қажетті нұсқаның пакетін жүктеп алыңыз:
-
Клиентті ClickHouse ресми құжаттамасындағы нұсқауларды орындау арқылы орнатыңыз.
-
Терминалды ашып, TLS арқылы қосылыңыз:
$ clickhouse-client \--host=<ХОСТ> \--port=<ПОРТ> \--user='<ЛОГИН>' \--password='<ПАРОЛЬ>' \--secure \--accept-invalid-certificateTLS-сіз қосылу үшін
--secureжәне--accept-invalid-certificateфлагтарын алып тастаңыз. -
Тест сұранысын орындау арқылы қосылымды тексеріңіз:
SELECT version();
Python арқылы қосылу үшін драйверді пайдаланыңыз:
- clickhouse-connect — HTTP бойынша қосылу. Ұсынылатын нұсқа —
1.6.0. Ең төменгі —1.0.0. - clickhouse-driver — TCP бойынша қосылу. Ұсынылатын нұсқа —
0.2.11. Ең төменгі —0.2.0.
-
Терминалды ашыңыз және драйверді орнатыңыз:
$ pip install clickhouse-connect==1.6.0 -
TLS арқылы Cloud ClickHouse-ге қосылу үшін команданы орындаңыз:
import clickhouse_connectclient = clickhouse_connect.get_client(host='<ХОСТ>',port='<ПОРТ>',username='<ЛОГИН>',password='<ПАРОЛЬ>',database='<БД>',secure=True,verify=False)print(client.command('SELECT version()'))TLS-сіз қосылу үшін
secure=Trueжәнеverify=Falseпараметрлерін алып тастаңыз.
Java арқылы HTTP протоколы бойынша қосылу үшін clickhouse-jdbc JDBC драйверін пайдаланыңыз.
Ұсынылатын драйвер нұсқасы — 0.9.8. Ең төменгі — 0.7.0.
-
Жобаға тәуелділікті қосыңыз:
MavenGradle<dependency><groupId>com.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.9.8</version></dependency> -
TLS арқылы Cloud ClickHouse-ге қосылу үшін команданы орындаңыз:
import com.clickhouse.jdbc.ClickHouseDataSource;String url = "jdbc:clickhouse://<ХОСТ>:<ПОРТ>/<БД>?ssl=true&sslmode=NONE";Properties props = new Properties();props.setProperty("user", "<ЛОГИН>");props.setProperty("password", "<ПАРОЛЬ>");ClickHouseDataSource ds = new ClickHouseDataSource(url, props);try (Connection conn = ds.getConnection();Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("SELECT version()")) {if (rs.next()) {System.out.println(rs.getString(1));}}TLS-сіз қосылу үшін URL-мекенжайдан
?ssl=true&sslmode=NONEпараметрлерін алып тастаңыз.
C++ арқылы TCP бойынша қосылу үшін clickhouse-cpp клиенттік кітапханасын пайдаланыңыз.
Ұсынылатын кітапхана нұсқасы — 2.6.0.
-
Терминалды ашыңыз және
clickhouse-cppкітапханасын орнатыңыз, мысалы, бастапқы кодтан:$ git clone --branch v2.6.0 https://github.com/ClickHouse/clickhouse-cpp.git$ mkdir clickhouse-cpp/build && cd clickhouse-cpp/build$ cmake ..$ make$ sudo make install -
TLS арқылы Cloud ClickHouse-ге қосылу үшін команданы орындаңыз:
#include <clickhouse/client.h>clickhouse::Client client(clickhouse::ClientOptions().SetHost("<ХОСТ>").SetPort("<ПОРТ>").SetUser("<ЛОГИН>").SetPassword("<ПАРОЛЬ>").SetDefaultDatabase("<БД>").SetSSLOptions(clickhouse::ClientOptions::SSLOptions().SetSkipVerification(true)));clickhouse::Block block;client.Select("SELECT version()", &block);if (block.GetRowCount() > 0) {std::cout << block[0]->As<clickhouse::ColumnString>()->At(0) << std::endl;}TLS-сіз қосылу үшін
.SetSSLOptions(...)әдісінClientOptions()шақырулар тізбегінен алып тастаңыз.
Go арқылы TCP немесе HTTP бойынша қосылу үшін clickhouse-go драйверін пайдаланыңыз.
Ұсынылатын драйвер нұсқасы — 2.48.0. Ең төменгі — 2.0.0.
-
Терминалды ашыңыз және драйверді орнатыңыз:
$ go get github.com/ClickHouse/clickhouse-go/v2@v2.48.0 -
TLS арқылы Cloud ClickHouse-ге қосылу үшін команданы орындаңыз:
package mainimport ("database/sql""fmt""log"_ "github.com/ClickHouse/clickhouse-go/v2")func main() {conn, err := sql.Open("clickhouse", "clickhouse://<ЛОГИН>:<ПАРОЛЬ>@<ХОСТ>:<ПОРТ>/<БД>?secure=true&skip_verify=true")if err != nil {log.Fatal(err)}defer conn.Close()var version stringif err := conn.QueryRow("SELECT version()").Scan(&version); err != nil {log.Fatal(err)}fmt.Println(version)}TLS-сіз қосылу үшін қосылым жолынан
secure=true&skip_verify=trueпараметрлерін алып тастаңыз.