Поделиться через


CREATE CONNECTION

Область применения:флажок «Да» Databricks SQL флажок «Да» Databricks Runtime 13.3 LTS и более поздние версии флажок «Да» только для Unity Catalog

Эта команда создает внешнее подключение (или сервер), представляющее удаленную систему данных определенного типа, используя системные параметры, которые предоставляют расположение удаленной системы и сведения о проверке подлинности.

Внешние подключения обеспечивают федеративные запросы.

Синтаксис

CREATE CONNECTION [IF NOT EXISTS] connection_name
  TYPE connection_type
  OPTIONS ( option value [, ...] )
  [ COMMENT comment ]

Для соответствия стандартам можно также использовать SERVER вместо CONNECTION.

Параметры

  • 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, STRINGINTEGERили DECIMALконстантой. Это значение также может быть вызовом SECRET функции SQL. Например, value для password может быть secret('secrets.r.us', 'postgresPassword'), в отличие от вводa буквального пароля.

Параметры HTTP

Применимо: Databricks SQL отмеченный флажок Databricks Runtime 16.2 и более новые версии

Тип ПОДКЛЮЧЕНИЯ HTTP поддерживает следующие ключи и значения параметров:

  • host

    Литерал STRING. Указывает host_name для внешнего сервиса. Исключение возникает, если путь к узлу не является нормализованным URL-адресом.

  • bearer_token

    Литерал STRING или вызов функции SECRET. Токен аутентификации, используемый для вызова внешней службы. Например, значение может содержать secret('secrets.r.us', 'httpPassword') вместо ввода литерального пароля.

  • port необязательный литерал INTEGER, указывающий порт. Значение по умолчанию — 443;

  • base_path

    Необязательный литерал STRING. Значение по умолчанию — /. Исключение возникает, если путь содержит пустую строку или неправильный путь с пробелами или специальными символами.

Пример

-- 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",
    )
  );