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.

Note

CREATE CONNECTION a Lakehouse Federation (összevont lekérdezés) kapcsolatokhoz tartozik. Ha a Lakeflow Connectben felügyelt betöltési folyamatokhoz szeretne kapcsolatokat létrehozni, használja a Connections REST API-t vagy a Databricks parancssori felületet (databricks connections create). Lásd: Üzembe helyezés.

Important

Ha hitelesítő adatokat (például jelszót vagy jogkivonatot) tartalmazó kapcsolati beállításokat ad meg a biztonság érdekében, adja meg az értéket a secret függvény használatával ahelyett, hogy közvetlenül a záradékba írja be a OPTIONS literális értéket. Ez lehetővé teszi, hogy a Databricks titkos szolgáltatásban tárolt titkos kódra hivatkozzon ahelyett, hogy belefogadja a hitelesítő adatokat az utasításba. Lásd a példákat.

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 (Szinapszis)
    • 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.

      A hitelesítő adatokat (például jelszót vagy jogkivonatot) tartalmazó bármely beállításnál használja a függvényt az secret érték közvetlen megadása helyett. Adja meg például a value megfelelőt password ahelyett, hogy secret('secrets.r.us', 'postgresPassword') a literális jelszót adja meg.

Opciók kapcsolattípus szerint

Mindegyik connection_type elfogadja a saját halmazát OPTIONS. Az alábbi táblázat felsorolja az egyes típusokhoz szükséges opciókat. Az opcionális beállításokért, mint például a TLS és alternatív hitelesítési módok, valamint a beállítási lépések esetén lásd az egyes adatforrások kapcsolati útmutatóját.

Kapcsolat típusa Kötelező beállítások Kapcsolati útmutató
DATABRICKS \, \, \ Databricks-to-Databricks
HTTP host, bearer_token HTTP opciók
MYSQL host, port, user, password MySQL
POSTGRESQL host, port, user, password PostgreSQL
REDSHIFT host, port, user, password Vöröseltolás
SNOWFLAKE host, port, sfWarehouse, user, password Snowflake
SQLDW host, port, user, password Azure Synapse
SQLSERVER host, port, user, password SQL Server

Note

Néhány kapcsolattípus további hitelesítési módokat támogat, amelyek eltérő opciókat használnak. Például a MySQL és a PostgreSQL támogatja az AWS IAM hitelesítést (és credentialaws_region ), míg a Snowflake támogatja az OAuth-ot (és client_idclient_secret). Lásd a kapcsolati útmutatót az adatforráshoz.

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 külső szolgáltatáshívások során használni kívánt hitelesítési jogkivonat. Adja meg a jogkivonatot a SECRET függvény használatával, nem pedig konstansként STRING . Az érték secret('secrets.r.us', 'httpPassword') állhat például a literális jogkivonat beírása helyett.

  • 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.

Examples

Adja meg a hitelesítő adatokat a secret függvény használatával, ahogyan az az alábbi példákban is látható, ahelyett, hogy közvetlenül jelszavakat vagy jogkivonatokat ad meg.

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