CREATE CONNECTION
Si applica a: Databricks SQL
Databricks Runtime 13.3 LTS e versioni successive
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 SQLDatabricks 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
oDECIMAL
. Il valore può anche essere una chiamata alla funzione SQLSECRET
. Ad esempio, l'oggettovalue
perpassword
può includeresecret('secrets.r.us', 'postgresPassword')
anziché immettere la password letterale.
Opzioni HTTP
Si applica a: Databricks SQL 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 ilhost_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ò includeresecret('secrets.r.us', 'httpPassword')
anziché immettere la password letterale.port
Un valore letterale opzionaleINTEGER
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",
)
);