Megosztás a következőn keresztül:


CREATE CONNECTION

A következőkre vonatkozik: Databricks SQL, Databricks Runtime 13.3 LTS és újabb verziók, csak a Unity Catalog esetén.

Ez a parancs létrehoz egy idegen kapcsolatot (vagy kiszolgálót), amely egy adott típusú távoli adatrendszert jelöl, rendszerspecifikus beállításokkal, amelyek biztosítják a távoli rendszer helyét és a hitelesítés részleteit.

A külföldi kapcsolatok lehetővé teszik összevont lekérdezések.

Szintaxis

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

A szabványoknak való megfelelőség érdekében használhatja a SERVER-t a CONNECTION helyett.

Paraméterek

  • connection_name

    A kapcsolat egyedi azonosítója a Unity Catalog metaadattár szintjén.

  • connection_type

    A kapcsolat típusát azonosítja, és a következő egyiknek kell lennie:

    • DATABRICKS
    • HTTP A következőkre vonatkozik: Databricks SQL jelölve igennel Databricks Runtime 16.2 és újabb verziók
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Beállítja a kapcsolat létrehozásához szükséges connection_type paramétereket.

    • opció

      A tulajdonságkulcs. A kulcs egy vagy több azonosítóból állhat, amelyeket pont választ el, vagy egy STRING literálból.

      A tulajdonságkulcsnak egyedinek kell lennie, és megkülönbözteti a kis- és nagybetűket.

    • érték

      A tulajdonság értéke. Az értéknek egy BOOLEAN, STRING, INTEGERvagy DECIMALállandó kifejezésnek kell lennie. Az érték lehet SECRET az SQL-függvény hívása is. Például a value for password tartalmazhatja secret('secrets.r.us', 'postgresPassword') a szó szerinti jelszó megadása helyett.

HTTP-beállítások

A következőkre vonatkozik: Databricks SQL igen van megjelölve Databricks Runtime 16.2-s vagy újabb verziója

A HTTP-kapcsolat típusa a következő beállításkulcsokat és értékeket támogatja:

  • host

    Egy STRING literál. Megadja az host_name külső szolgáltatás számára. Kivételt dobunk, ha a gazdagép elérési útja nem normalizált URL-cím.

  • bearer_token

    A STRINGSECRET függvény szó szerinti értelmezése vagy meghívása. A külső szolgáltatáshívások során használni kívánt hitelesítési jogkivonat. Az érték például lehet secret('secrets.r.us', 'httpPassword'), ahelyett hogy a valódi jelszót adnánk meg.

  • port Egy nem kötelező INTEGER portot meghatározó literál. Az alapértelmezett érték a 443;

  • base_path

    Nem kötelező STRING konstans. Az alapértelmezett érték a /. Kivétel akkor történik, ha az elérési út üres sztringet tartalmaz, vagy szóközöket vagy speciális karaktereket tartalmazó helytelen elérési utat tartalmaz.

Példa

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