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


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, STRING, INTEGER или 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",
    )
  );