日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過HTTPS協(xié)議連接ClickHouse

您可以通過HTTPS協(xié)議訪問云數(shù)據(jù)庫ClickHouse。本文介紹如何通過HTTPS協(xié)議連接云數(shù)據(jù)庫ClickHouse集群。

前提條件

  • 云數(shù)據(jù)庫ClickHouse集群的20.8及以上版本支持通過HTTPS協(xié)議連接。

  • 已開通HTTPS協(xié)議并下載SSL CA證書。如何開通和下載,請參見開通HTTPS協(xié)議

  • 已將連接源的IP地址添加到云數(shù)據(jù)庫ClickHouse集群的白名單中。如何添加,請參見設置白名單

  • 如果連接源和云數(shù)據(jù)庫ClickHouse集群不屬于同一個VPC,請先為云數(shù)據(jù)庫ClickHouse集群申請外網(wǎng)地址。

注意事項

  • 通過HTTPS協(xié)議連接云數(shù)據(jù)庫ClickHouse集群會增加網(wǎng)絡連接響應時間。

  • 通過HTTPS協(xié)議連接云數(shù)據(jù)庫ClickHouse集群會顯著增加CPU使用率,建議您在使用外網(wǎng)且有加密需求時,使用HTTPS協(xié)議訪問云數(shù)據(jù)庫ClickHouse。使用VPC網(wǎng)絡相對安全,一般無需使用HTTPS協(xié)議訪問云數(shù)據(jù)庫ClickHouse

Java JDBC方式連接

  1. 使用Eclipse或其他IDE工具創(chuàng)建Maven項目并引入ClickHouse驅(qū)動依賴包。

    <dependency>
      <groupId>ru.yandex.clickhouse</groupId>
      <artifactId>clickhouse-jdbc</artifactId>
      <version>0.3.1</version>
    </dependency>
  2. 編寫應用程序代碼。獲取Clickhouse連接對象。

    語法如下。

    public void run()
            throws InterruptedException {
    
        final ClickHouseProperties clickHouseProperties = new ClickHouseProperties();
        clickHouseProperties.setSslRootCertificate("<證書路徑>");
        clickHouseProperties.setSsl(true);
        clickHouseProperties.setSslMode("<SSL Mode,取值:strict、none>");
        clickHouseProperties.setUser("<數(shù)據(jù)庫賬號>");
        clickHouseProperties.setPassword("<數(shù)據(jù)庫賬號的密碼>");
        clickHouseProperties.setSocketTimeout(<超時時間,單位:毫秒>);
      	ClickHouseDataSource dataSource = new ClickHouseDataSource("jdbc:clickhouse://<外網(wǎng)地址、VPC地址或IP地址>:<HTTPS端口號>/<數(shù)據(jù)庫名稱>?ssl=true", clickHouseProperties);
        try {
            final ClickHouseConnection conn = dataSource.getConnection();
            conn.createStatement().executeQuery("select now()");
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }
    說明

    如果通過IP地址連接,連接源和云數(shù)據(jù)庫ClickHouse集群需屬于同一個VPC且SSL Mode取值為none

    示例如下。

    public void run()
            throws InterruptedException {
    
        final ClickHouseProperties clickHouseProperties = new ClickHouseProperties();
        clickHouseProperties.setSslRootCertificate("/user/ck-root-ClickHouse-CA-Chain.pem");
        clickHouseProperties.setSsl(true);
        clickHouseProperties.setSslMode("strict");
        clickHouseProperties.setUser("test");
        clickHouseProperties.setPassword("123456Aa");
        clickHouseProperties.setSocketTimeout(2 * 3600 * 1000);
       	ClickHouseDataSource dataSource = new ClickHouseDataSource("jdbc:clickhouse://cc-****.public.clickhouse.ads.aliyuncs.com:8443/test01?ssl=true", clickHouseProperties);
        try {
            final ClickHouseConnection conn = dataSource.getConnection();
            conn.createStatement().executeQuery("select now()");
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }

curl命令行方式連接

語法如下。

curl --cacert <證書路徑> https://<外網(wǎng)地址或VPC地址>:<HTTPS端口號>/ping

示例如下。

curl --cacert ./ck-root-ClickHouse-CA-Chain.pem https://cc-bp163l724nkf****.clickhouse.ads.aliyuncs.com:8443/ping