Condividi tramite


CREATE CONNECTION

Si applica a:contrassegnato con sì Databricks SQL contrassegnato con sì Databricks Runtime 13.3 LTS e versioni successive contrassegnato con sì solo Unity Catalog

Importante

Questa funzionalità è disponibile in anteprima pubblica.

Questo comando crea una connessione esterna (o un server), che rappresenta un sistema dati remoto di un tipo specifico, usando opzioni specifiche del sistema che forniscono il percorso del sistema remoto e i dettagli di autenticazione.

Le connessioni esterne consentono interrogazioni federate.

Sintassi

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

Per la conformità agli standard è anche possibile usare SERVER anziché CONNECTION.

Parametri

  • connection_name

    Identificatore univoco della connessione a livello di metastore del Catalogo Unity.

  • connection_type

    Identifica il tipo di connessione e deve essere uno dei seguenti:

    • DATABRICKS
    • HTTP Si applica a: Databricks SQL selezionato sì Databricks Runtime 16.2 e versioni successive
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Imposta connection_type parametri specifici necessari per stabilire la connessione.

    • opzione

      Chiave della proprietà. La chiave può essere costituita da uno o più identificatori separati da un punto o da un valore letterale STRING.

      Le chiavi delle proprietà devono essere univoche e fanno distinzione tra maiuscole e minuscole.

    • value

      Il valore per la proprietà. Il valore deve essere un'espressione costante BOOLEAN, STRING, INTEGER o DECIMAL. Il valore può anche essere una chiamata alla funzione SQL SECRET. Ad esempio, l'oggetto value per password può includere secret('secrets.r.us', 'postgresPassword') anziché immettere la password letterale.

Opzioni HTTP

Si applica a: Databricks SQL selezionato sì Databricks Runtime 16.2 e versioni successive

Il tipo di connessione HTTP supporta le chiavi e i valori di opzione seguenti:

  • host

    Un valore STRING letterale. Indica il host_name per il servizio esterno. Verrà generata un'eccezione se il percorso host non è un URL normalizzato.

  • bearer_token

    Valore letterale STRING o invocazione della funzione SECRET. Token di autenticazione da usare quando si effettua la chiamata al servizio esterno. Ad esempio, il valore può includere secret('secrets.r.us', 'httpPassword') anziché immettere la password letterale.

  • port Un valore letterale opzionale INTEGER che specifica la porta. Il valore predefinito è 443;

  • base_path

    Valore letterale facoltativo STRING . Il valore predefinito è /. Viene generata un'eccezione se il percorso contiene una stringa vuota o un percorso non corretto con spazi o caratteri speciali.

Esempio

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