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.

Note

CREATE CONNECTION je určená pro připojení k federaci Lakehouse (federovaný dotaz). Pokud chcete vytvořit připojení pro spravované kanály příjmu dat ve službě Lakeflow Connect, použijte rozhraní REST API připojení nebo rozhraní příkazového řádku Databricks (databricks connections create). Viz Nasazení.

Important

Když nastavíte možnosti připojení, které obsahují přihlašovací údaje, jako je heslo nebo token, aby byly zabezpečené, zadejte hodnotu pomocí secret funkce, nikoli zadáním literálové hodnoty přímo do OPTIONS klauzule. 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 podle typu připojení

Každý connection_type přijímá svou vlastní množinu .OPTIONS Následující tabulka uvádí požadované možnosti pro každý typ. Pro volitelná nastavení, jako je TLS a alternativní autentizační režimy, a pro kroky nastavení, viz průvodce připojením pro každý datový zdroj.

Typ připojení Požadované možnosti Průvodce připojením
DATABRICKS host, httpPath, personalAccessToken Databricks-to-Databricks
HTTP host, bearer_token HTTP možnosti
MYSQL host, port, , userpassword MySQL
POSTGRESQL host, port, , userpassword PostgreSQL
REDSHIFT host, port, , userpassword Červený posun
SNOWFLAKE host, port, sfWarehouse, , userpassword Snowflake
SQLDW host, port, , userpassword Azure Synapse
SQLSERVER host, port, , userpassword SQL Server

Note

Některé typy připojení podporují další autentizační režimy, které využívají různé možnosti. Například MySQL a PostgreSQL podporují autentizaci AWS IAM (s aws_region a credential), a Snowflake podporuje OAuth (s client_id a client_secret). Podívejte se na průvodce připojením ke zdroji dat.

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