Skip to main content
Query API 엔드포인트 기능을 사용하면 ClickHouse Cloud 콘솔에 저장된 모든 SQL 쿼리로부터 API 엔드포인트를 직접 생성할 수 있습니다. 네이티브 드라이버로 ClickHouse Cloud 서비스에 연결하지 않아도 HTTP를 통해 API 엔드포인트에 액세스하여 저장된 쿼리를 실행할 수 있습니다.

사전 요구 사항

계속하기 전에 다음 항목이 준비되어 있는지 확인하십시오:
  • 적절한 권한이 부여된 API Key
  • 관리자 Console 역할
아직 없다면 이 가이드를 따라 API Key를 생성할 수 있습니다.
최소 권한API 엔드포인트를 쿼리하려면 API Key에 Query Endpoints 서비스 액세스가 포함된 Member 조직 역할이 필요합니다. 데이터베이스 역할은 엔드포인트를 생성할 때 구성됩니다.
1

저장된 쿼리 만들기

이미 저장된 쿼리가 있으면 이 단계는 건너뛰어도 됩니다.Open a new query tab. For demonstration purposes, we’ll use the youtube dataset, which contains approximately 4.5 billion records. Follow the steps in section “Create table” to create the table on your Cloud service and insert data to it.
LIMIT the number of rowsThe example dataset tutorial inserts a lot of data - 4.65 billion rows which can take some time to insert. For the purposes of this guide we recommend to use the LIMIT clause to insert a smaller amount of data, for example 10 million rows.
As an example query, we’ll return the top 10 uploaders by average views per video in a user-inputted year parameter.
Note that this query contains a parameter (year) which is highlighted in the snippet above. You can specify 쿼리 매개변수 using { } together with the type of the parameter. The SQL console query editor automatically detects ClickHouse 쿼리 매개변수 expressions and provides an input for each parameter.Let’s quickly run this query to make sure that it works by specifying the year 2010 in the 쿼리 변수 input box on the right side of the SQL editor:Next, save the query:More documentation around 저장된 쿼리 can be found in section “Saving a query”.
2

Configuring the Query API 엔드포인트

Query API endpoint can be configured directly from query view by clicking the Share button and selecting API Endpoint. You’ll be prompted to specify which API Keys should be able to access the endpoint:After selecting an API Key, you will be asked to:
  • Select the 데이터베이스 역할 that will be used to run the query (Full access, Read only or Create a custom role)
  • Specify cross-origin resource sharing (CORS) allowed domains
After selecting these options, the Query API 엔드포인트 will automatically be provisioned.An example curl command will be displayed so you can send a test request:The curl command displayed in the interface is given below for convenience:
3

Query API parameters

쿼리의 쿼리 매개변수 can be specified with the syntax {parameter_name: type}. These parameters will be automatically detected and the example request payload will contain a queryVariables object through which you can pass these parameters.
4

Testing and monitoring

Once a Query API 엔드포인트 is created, you can test that it works by using curl or any other HTTP client:After you’ve sent your first request, a new button should appear immediately to the right of the Share button. Clicking it will open a flyout containing monitoring data about the query:

구현 세부 사항

이 엔드포인트는 저장된 Query API endpoint에서 쿼리를 실행합니다. 여러 버전, 유연한 응답 포맷, 매개변수화된 쿼리, 선택적 스트리밍 응답(버전 2만 지원)을 지원합니다. 엔드포인트:

HTTP 메서드

GET를 사용하는 경우:
  • 복잡하게 중첩된 데이터가 없는 단순 쿼리
  • 매개변수를 URL 인코딩하기 쉬운 경우
  • 캐싱이 HTTP GET의 의미 체계로 이점을 얻을 수 있는 경우
POST를 사용하는 경우:
  • 복잡한 쿼리 변수(배열, 객체, 긴 문자열)
  • 보안 또는 개인정보 보호를 위해 요청 본문을 사용하는 것이 바람직한 경우
  • 스트리밍 파일 업로드 또는 대용량 데이터

인증

필수:메서드: OpenAPI Key/Secret 기반 Basic Auth 권한: 쿼리 엔드포인트에 대한 적절한 권한

요청 구성

URL 매개변수

쿼리 매개변수

헤더


요청 본문

매개변수

지원되는 포맷


응답

성공

상태: 200 OK 쿼리가 정상적으로 실행되었습니다.

오류 코드

오류 처리 모범 사례

  • 요청에 유효한 인증 자격 증명이 포함되어 있는지 확인하세요
  • 전송하기 전에 queryEndpointIdqueryVariables를 검증하세요
  • 적절한 오류 메시지와 함께 안정적으로 오류를 처리하도록 구현하세요

엔드포인트 버전 업그레이드

버전 1에서 버전 2로 업그레이드하려면 다음을 수행하세요.
  1. x-clickhouse-endpoint-upgrade 헤더를 1로 설정해 포함합니다
  2. x-clickhouse-endpoint-version 헤더를 2로 설정해 포함합니다
이렇게 하면 다음과 같은 버전 2 기능을 사용할 수 있습니다.
  • 모든 ClickHouse 포맷 지원
  • 응답 스트리밍 capability
  • 향상된 성능 및 기능

예시

기본 요청

Query API 엔드포인트 SQL:

버전 1

버전 2

응답

쿼리 변수와 JSONCompactEachRow 포맷 버전 2를 사용한 요청

Query API 엔드포인트 SQL:
응답

쿼리 변수에 배열이 포함되어 있고 테이블에 데이터를 삽입하는 요청

테이블 SQL:
Query API 엔드포인트 SQL:

ClickHouse 설정 max_threads를 8로 지정한 요청

Query API 엔드포인트 SQL:

응답을 요청해 스트림으로 파싱하기

Query API 엔드포인트 SQL:
출력

파일에서 스트림을 테이블에 삽입하기

다음 내용으로 ./samples/my_first_table_2024-07-11.csv 파일을 생성하세요:
테이블 생성 SQL:
Query API 엔드포인트 SQL:
마지막 수정일 2026년 7월 23일