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.

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

      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.

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