CREATE CONNECTION
Van toepassing op: Databricks SQL
Databricks Runtime 13.3 LTS en hoger
alleen Unity Catalog
Belangrijk
Deze functie is beschikbaar als openbare preview.
Met deze opdracht maakt u een externe verbinding (of server), die een extern gegevenssysteem van een specifiek type vertegenwoordigt, met behulp van systeemspecifieke opties die de locatie van het externe systeem en verificatiegegevens bieden.
Externe verbindingen maken gefedereerde queries mogelijk.
Syntaxis
CREATE CONNECTION [IF NOT EXISTS] connection_name
TYPE connection_type
OPTIONS ( option value [, ...] )
[ COMMENT comment ]
Voor standaardencompatibiliteit kunt u ook gebruiken SERVER
in plaats van CONNECTION
.
Parameters
connection_name
Een unieke identifier van de verbinding op het niveau van de Unity Catalog-metastore.
connection_type
Identificeert het type verbinding en moet een van de volgende zijn:
DATABRICKS
-
HTTP
Van toepassing op: Databricks SQLDatabricks Runtime 16.2 en hoger
MYSQL
POSTGRESQL
REDSHIFT
SNOWFLAKE
-
SQLDW
(Synapse) SQLSERVER
OPTIONS
Hiermee stelt u
connection_type
specifieke parameters in die nodig zijn om de verbinding tot stand te brengen.optie
De eigenschapssleutel. De sleutel kan bestaan uit een of meer identificatoren, gescheiden door een punt of een
STRING
letterlijke aanduiding.Eigenschapssleutels moeten uniek en hoofdlettergevoelig zijn.
value
De waarde voor de parameter. De waarde moet een
BOOLEAN
,STRING
ofINTEGER
DECIMAL
constante expressie zijn. De waarde kan ook een aanroep van deSECRET
SQL-functie zijn. Hetvalue
voorpassword
kan bijvoorbeeldsecret('secrets.r.us', 'postgresPassword')
omvatten in plaats van het letterlijke wachtwoord in te voeren.
HTTP opties
nl-NL: Van toepassing op: Databricks SQL Databricks Runtime 16.2 en hoger
Het HTTP-verbindingstype ondersteunt de volgende optiesleutels en -waarden:
host
Een
STRING
letterlijke waarde. Specificeert dehost_name
voor de externe service. Er wordt een uitzondering gegenereerd als het hostpad geen genormaliseerde URL is.bearer_token
Een letterlijke
STRING
aanroep of de aanroep van de SECRET functie. Het verificatietoken dat moet worden gebruikt bij het maken van de externe service-aanroep. De waarde voor kan bijvoorbeeld bestaan uitsecret('secrets.r.us', 'httpPassword')
in plaats van het invoeren van het letterlijke wachtwoord.port
Een optioneleINTEGER
letterlijke waarde die de poort opgeeft. De standaardwaarde is443
;base_path
Een optionele
STRING
letterlijk. De standaardwaarde is/
. Er wordt een uitzondering gegenereerd als het pad een lege tekenreeks bevat of een onjuist pad met spaties of speciale tekens.
Voorbeeld
-- 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",
)
);