다음을 통해 공유


CREATE CONNECTION

적용 대상:체크 표시 예 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_name

    Unity 카탈로그 메타스토어 수준에서 연결의 고유 식별자입니다.

  • connection_type

    연결 유형을 식별하며 다음 중 하나여야 합니다.

    • DATABRICKS
    • HTTP 적용 대상: Databricks SQL 확인 표시됨: 예 Databricks Runtime 16.2 이상
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    연결을 설정하는 데 필요한 connection_type 특정 매개 변수를 설정합니다.

    • 옵션

      속성 키입니다. 키는 점으로 구분된 하나 이상의 식별자 또는 STRING로 구성될 수 있습니다.

      속성 키는 고유해야 하며 대/소문자를 구분해야 합니다.

    • 속성 값입니다. 값은 , BOOLEAN, STRING또는 INTEGERDECIMAL이어야 합니다. 값은 SECRET SQL 함수에 대한 호출일 수도 있습니다. 예를 들어 valuepassword는 리터럴 비밀번호를 입력하는 것과 반대로 secret('secrets.r.us', 'postgresPassword')를 구성할 수 있습니다.

HTTP 옵션

적용 대상: Databricks SQL 체크 표시 됨 Databricks Runtime 16.2 및 상위 버전

HTTP 연결 형식은 다음 옵션 키 및 값을 지원합니다.

  • host

    STRING 리터럴입니다. 외부 서비스에 대한 host_name를 지정합니다. 호스트 경로가 정규화된 URL이 아닌 경우 예외가 throw됩니다.

  • bearer_token

    STRING SECRET 함수의 리터럴 또는 호출입니다. 외부 서비스를 호출할 때 사용할 인증 토큰입니다. 예를 들어, 값이 리터럴 암호를 입력하는 대신 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",
    )
  );