Udostępnij za pośrednictwem


CREATE CONNECTION

Dotyczy:oznaczone jako Databricks SQL oznaczone jako Databricks Runtime 13.3 LTS i nowsze oznaczone jako tylko Unity Catalog

To polecenie tworzy połączenie obce (lub serwer), które reprezentuje zdalny system danych określonego typu, przy użyciu opcji specyficznych dla systemu, które zapewniają lokalizację systemu zdalnego i szczegóły uwierzytelniania.

Zewnętrzne połączenia umożliwiają zapytania federacyjne .

Składnia

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

W celu zgodności ze standardami można również użyć SERVER zamiast CONNECTION.

Parametry

  • connection_name

    Unikatowy identyfikator połączenia na poziomie metastore wykazu Unity Catalog.

  • connection_type

    Określa typ połączenia i musi być jednym z następujących elementów:

    • DATABRICKS
    • HTTP Dotyczy: databricks SQL zaznacz pole wyboru tak Databricks Runtime 16.2 i nowszych
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Ustawia konkretne parametry connection_type potrzebne do nawiązania połączenia.

    • opcja

      Klucz właściwości. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literałem STRING .

      Klucze właściwości muszą być unikatowe i uwzględniane są wielkość liter.

    • wartość

      Wartość właściwości . Wartość musi być wyrażeniem BOOLEANstałym , STRING, INTEGERlub DECIMAL . Wartość może być również wywołaniem SECRET funkcji SQL. Na przykład value dla password może składać się z secret('secrets.r.us', 'postgresPassword'), zamiast dosłownego wprowadzania hasła.

Opcje protokołu HTTP

Dotyczy: Databricks SQL oznaczony jako tak Databricks Runtime 16.2 i nowsze wersje

Typ połączenia HTTP obsługuje następujące klucze i wartości opcji:

  • host

    Literał STRING . Określa host_name dla usługi zewnętrznej. Jeśli ścieżka hosta nie jest znormalizowanym adresem URL, zostanie zgłoszony wyjątek.

  • bearer_token

    Literał STRING lub wywołanie funkcji SECRET . Token uwierzytelniania, który ma być używany podczas wykonywania wywołania usługi zewnętrznej. Na przykład wartość może zawierać secret('secrets.r.us', 'httpPassword') zamiast dosłownego wprowadzania hasła.

  • port Literał opcjonalny INTEGER określający port. Wartość domyślna to 443;

  • base_path

    To jest opcjonalny STRING literał. Wartość domyślna to /. Zgłaszany jest wyjątek, jeśli ścieżka zawiera pusty ciąg lub nieprawidłową ścieżkę ze spacjami lub znakami specjalnymi.

Przykład

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