적용 대상:
Databricks SQL
Databricks Runtime 13.3 LTS 이상
Unity 카탈로그 전용
이 명령은 원격 시스템의 위치 및 인증 세부 정보를 제공하는 시스템별 옵션을 사용하여 특정 형식의 원격 데이터 시스템을 나타내는 외딴 연결(또는 서버)을 만듭니다.
외부 연결을 사용하면 페더레이션된 쿼리를 수행할 수 있습니다.
구문
CREATE CONNECTION [IF NOT EXISTS] connection_name
TYPE connection_type
OPTIONS ( option value [, ...] )
[ COMMENT comment ]
표준 규정 준수의 경우 대신 사용할 SERVERCONNECTION수도 있습니다.
매개 변수
connection_nameUnity 카탈로그 메타스토어 수준에서 연결의 고유 식별자입니다.
connection_type연결 유형을 식별하며 다음 중 하나여야 합니다.
DATABRICKS-
HTTP적용 대상: Databricks SQL
Databricks Runtime 16.2 이상 MYSQLPOSTGRESQLREDSHIFTSNOWFLAKE-
SQLDW(Synapse) SQLSERVER
OPTIONS연결을 설정하는 데 필요한
connection_type특정 매개 변수를 설정합니다.옵션
속성 키입니다. 키는 점으로 구분된 하나 이상의 식별자 또는
STRING로 구성될 수 있습니다.속성 키는 고유해야 하며 대/소문자를 구분해야 합니다.
값
속성 값입니다. 값은 ,
BOOLEAN,STRING또는INTEGERDECIMAL이어야 합니다. 값은SECRETSQL 함수에 대한 호출일 수도 있습니다. 예를 들어value용password는 리터럴 비밀번호를 입력하는 것과 반대로secret('secrets.r.us', 'postgresPassword')를 구성할 수 있습니다.
HTTP 옵션
적용 대상: Databricks SQL
Databricks Runtime 16.2 및 상위 버전
HTTP 연결 형식은 다음 옵션 키 및 값을 지원합니다.
hostSTRING리터럴입니다. 외부 서비스에 대한host_name를 지정합니다. 호스트 경로가 정규화된 URL이 아닌 경우 예외가 throw됩니다.bearer_tokenSTRINGSECRET 함수의 리터럴 또는 호출입니다. 외부 서비스를 호출할 때 사용할 인증 토큰입니다. 예를 들어, 값이 리터럴 암호를 입력하는 대신secret('secrets.r.us', 'httpPassword')을 포함할 수 있습니다.port포트를 지정하는 선택적INTEGER리터럴입니다. 기본값은443;base_path선택적
STRING리터럴입니다. 기본값은/입니다. 경로에 빈 문자열이 있거나 공백이나 특수 문자가 있는 잘못된 경로가 있으면 예외가 throw됩니다.
예시
-- Create a postgresql connection
> CREATE CONNECTION postgresql_connection
TYPE POSTGRESQL
OPTIONS (
host 'qf-postgresql-demo.xxxxxx.us-west-2.rds.amazonaws.com',
port '5432',
user 'postgresql_user',
password 'password123');
-- Create a postgresql connection with secret scope
> CREATE CONNECTION postgresql_connection
TYPE POSTGRESQL
OPTIONS (
host 'qf-postgresql-demo.xxxxxx.us-west-2.rds.amazonaws.com',
port '5432',
user secret('secrets.r.us', 'postgresUser'),
password secret('secrets.r.us', 'postgresPassword'));
-- Set up a connect to Slack.
> CREATE CONNECTION slack_conn
TYPE HTTP
OPTIONS (
host 'https://slack.com',
port '443',
base_path '/api/',
bearer_token 'xoxb-xxxxx'
);
-- Request to the external service
> SELECT http_request(
conn => 'slack_conn',
method => 'POST',
path => '/chat.postMessage',
json => to_json(named_struct(
'channel', channel,
'text', text
))
headers => map(
'Accept', "application/vnd.github+json",
)
);