CREATE EXTERNAL DATA SOURCE
Вызов CREATE EXTERNAL DATA SOURCE
создает внешний источник данных.
CREATE EXTERNAL DATA SOURCE external_data_source WITH (
SOURCE_TYPE="source_type",
LOCATION="ip_address_or_fqdn:port",
USE_TLS="use_tls",
AUTH_METHOD="auth_method",
LOGIN="login",
PASSWORD_SECRET_NAME="password_secret_name"
)
Где:
external_data_source
- название внешнего источника данных.source_type
- тип внешнего источника данных. Возможные значения:ClickHouse
,PostgreSQL
,ObjectStorage
.ip_address_or_fqdn:port
- полный сетевой адрес внешнего источника данных, включая порт. В качестве сетевого адреса можно указывать IP-адрес или FQDN.use_tls
- флаг, указывающий требование подключения через безопасное соединение (TLS). Возможные значения:TRUE
,FALSE
.auth_method
- способ аутентификации во внешнем источника данных. Для внешних источников типовClickHouse
,PostgreSQL
поддерживается только тип аутентификацииBASIC
. Для внешнего источникаObjectStorage
в данный момент поддерживает только тип аутентификацииNONE
.login
- логин, используемый для подключения к внешнему источнику данных.password_secret_name
- имя секрета, содержащего пароль для подключения к внешнему источнику данных.
При работе по защищенным TLS каналам связи используется системные сертификаты, расположенные на серверах YDB.
Пример
Запрос ниже создает внешний источник с именем TestDataSource
к кластеру ClickHouse c IP-адресом 192.168.1.1
и портом 8443
, логином admin
и именем секрета test_secret
:
CREATE EXTERNAL DATA SOURCE TestDataSource WITH (
SOURCE_TYPE="ClickHouse",
LOCATION="192.168.1.1:8443",
USE_TLS="TRUE",
AUTH_METHOD="BASIC",
LOGIN="admin",
PASSWORD_SECRET_NAME="test_secret"
)
Подключение к ClickHouse
Для создания подключения к кластеру ClickHouse необходимо создать внешний источник данных EXTERNAL DATA SOURCE
, указав:
- В поле
SOURCE_TYPE
значениеClickHouse
. - В поле
LOCATION
полный сетевой адрес кластера ClickHouse, включая порт. В качестве сетевого адреса можно указывать IP-адрес или FQDN. В данный момент подключение к кластеру ClickHouse всегда выполняется про HTTP протоколу. - В поле
USE_TLS
флаг, указывающий требование подключения к кластеру ClickHouse через безопасное соединение (TLS). - В поле
AUTH_METHOD
значениеBASIC
. - В поле
LOGIN
логин, используемый для подключения к кластеру ClickHouse. - В поле
PASSWORD_SECRET_NAME
имя секрета, содержащего пароль для подключения к кластеру ClickHouse.
При работе по защищенным TLS каналам связи используется системные сертификаты, расположенные на серверах YDB.
Пример
Запрос ниже создает внешний источник с именем TestDataSource
к кластеру ClickHouse c IP-адресом 192.168.1.1
и портом 8443
, логином admin
и именем секрета test_secret
:
CREATE EXTERNAL DATA SOURCE TestDataSource WITH (
SOURCE_TYPE="ClickHouse",
LOCATION="192.168.1.1:8443",
USE_TLS="TRUE",
AUTH_METHOD="BASIC",
LOGIN="admin",
PASSWORD_SECRET_NAME="test_secret"
)
Подключение к PostgreSQL
Для создания подключения к кластеру PostgreSQL необходимо создать объект EXTERNAL DATA SOURCE
, указав в полях:
- в поле
SOURCE_TYPE
значениеPostgreSQL
; - в поле
LOCATION
полный сетевой адрес кластера PostgreSQL, включая порт. В качестве сетевого адреса можно указывать IP-адрес или FQDN; - в поле
USE_TLS
флаг, указывающий требование подключения к кластеру PostgreSQL через безопасное соединение (TLS); - в поле
AUTH_METHOD
значениеBASIC
; - в поле
LOGIN
логин, используемый для подключения к кластеру PostgreSQL; - в поле
PASSWORD_SECRET_NAME
имя секрета, содержащего пароль для подключения к кластеру PostgreSQL.
В данный момент подключение к кластеру PostgreSQL всегда выполняется про стандартному (Frontend/Backend Protocol) по транспорту TCP. При работе по защищенным TLS каналам связи используется системные сертификаты, расположенные на серверах YDB.
Пример
Запрос ниже создает внешний источник с именем TestDataSource
, ведущий на кластер PostgreSQL c IP-адресом 192.168.1.2
и портом 5432
, логином admin
и именем секрета test_secret
:
CREATE EXTERNAL DATA SOURCE TestDataSource WITH (
SOURCE_TYPE="PostgreSQL",
LOCATION="192.168.1.1:5432",
USE_TLS="TRUE",
AUTH_METHOD="BASIC",
LOGIN="admin",
PASSWORD_SECRET_NAME="test_secret"
)
Подключение к S3 (Object Storage)
Для создания внешнего источника данных, ведущего на бакет с данными в S3 (Object Storage) необходимо создать объект EXTERNAL DATA SOURCE
, указав в полях:
- в поле
SOURCE_TYPE
значениеObjectStorage
; - в поле
LOCATION
сетевой путь к бакету; - в поле
AUTH_METHOD
значениеNONE
.
Примечание
В настоящий момент поддерживается работа только с бакетами, не защищенными аутентификацией.
Подключение возможно к любым источникам данных с протоколом доступа AWS S3. Возможно указание любых URL к системам, поддерживающим этот протокол.
Типовые значения поля LOCATION
при подключении к различным системам к бакету bucket
:
Название системы | URL |
---|---|
Object Storage | https://storage.yandexcloud.net/bucket/ |
AWS S3 | http://s3.amazonaws.com/bucket/ |
Пример
Запрос ниже создает внешний источник данных с именем TestDataSource
, ведущий в каталог folder
в бакете bucket
в Object Storage:
CREATE EXTERNAL DATA SOURCE TestDataSource WITH (
SOURCE_TYPE="ObjectStorage",
LOCATION="http://s3.amazonaws.com/bucket/folder/",
AUTH_METHOD="NONE"