CREATE CONNECTION

platí pro:označeno ano, Databricks SQL označeno ano, Databricks Runtime 13.3 LTS a vyšší, označeno ano pouze Unity Catalog.

Tento příkaz vytvoří cizí připojení (nebo server), který představuje vzdálený datový systém určitého typu, pomocí systémových specifických možností, které poskytují umístění vzdáleného systému a podrobnosti ověřování.

Cizí připojení umožňují federované dotazy.

Important

Pokud chcete zachovat přihlašovací údaje, jako jsou hesla a tokeny, zajistěte, aby místo zadávání hodnot literálů OPTIONS přímo do klauzule používaly secret funkci. To vám umožní odkazovat na tajný klíč uložený v tajné službě Databricks místo zahrnutí hodnoty přihlašovacích údajů do příkazu. Podívejte se na příklady.

Syntaxe

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

Pro dodržování standardů můžete také použít SERVER místo CONNECTION.

Parametry

  • connection_name

    Jedinečný identifikátor připojení na úrovni úložiště metadat katalogu Unity.

  • connection_type

    Určuje typ připojení a musí být jedním z následujících:

    • DATABRICKS
    • HTTP platí pro: Databricks SQL zaškrtněte políčko Ano Databricks Runtime 16.2 a vyšší
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Nastaví connection_type konkrétní parametry potřebné k navázání připojení.

    • možnost

      Klíč vlastnosti. Klíč se může skládat z jednoho nebo více identifikátorů oddělených tečkou nebo literálem STRING .

      Klíče vlastností musí být jedinečné a rozlišují se podle velikosti písmen.

    • hodnota

      Hodnota vlastnosti. Hodnota musí být výraz BOOLEAN, STRING, INTEGERnebo DECIMALkonstanta.

      Pro každou možnost, která nese přihlašovací údaje, jako je heslo nebo token, použijte secret funkci místo přímého zadávání hodnoty. Zadejte například value místo zadávání literálového hesla.passwordsecret('secrets.r.us', 'postgresPassword')

Možnosti PROTOKOLU HTTP

platí pro: Databricks SQL zaškrtněte políčko Ano Databricks Runtime 16.2 a novější

Typ připojení HTTP podporuje následující klíče a hodnoty možností:

  • host

    Literál STRING . Určuje host_name pro externí službu. Pokud cesta hostitele není normalizovanou adresou URL, vyvolá se výjimka.

  • bearer_token

    Ověřovací token, který se má použít při volání externí služby. Zadejte token pomocí funkce SECRET , nikoli jako STRING literál. Například hodnota se může skládat secret('secrets.r.us', 'httpPassword') z rozdílu od zadávání literálového tokenu.

  • port volitelný INTEGER literál určující port. Výchozí hodnota je 443;

  • base_path

    Volitelný STRING literál. Výchozí hodnota je /. Výjimka se vyvolá, pokud cesta obsahuje prázdný řetězec nebo nesprávnou cestu s mezerami nebo speciálními znaky.

Examples

Zadejte přihlašovací údaje pomocí secret funkce, jak je znázorněno v následujících příkladech, místo přímého zadávání hesel nebo tokenů.

-- Create a postgresql connection.
-- Provide the user and password using the secret function rather than
-- entering them directly.
> CREATE CONNECTION postgresql_connection
    TYPE POSTGRESQL
    OPTIONS (
       host '<hostname>',
       port '5432',
       user secret('secrets.r.us', 'postgresUser'),
       password secret('secrets.r.us', 'postgresPassword'));

-- Set up a connection to Slack.
-- Provide the bearer token using the secret function rather than a literal value.
> CREATE CONNECTION slack_conn
  TYPE HTTP
  OPTIONS (
    host 'https://slack.com',
    port '443',
    base_path '/api/',
    bearer_token secret('secrets.r.us', 'slackBearerToken')
  );

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