Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime 13.3 LTS en hoger
alleen Unity Catalog
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.
Important
Als u referenties zoals wachtwoorden en tokens veilig wilt houden, geeft u deze op met behulp van de secret functie in plaats van de letterlijke waarden rechtstreeks in de component in te OPTIONS voeren. Hiermee kunt u verwijzen naar een geheim dat is opgeslagen in de Databricks-geheime service in plaats van de referentiewaarde in uw instructie op te slaan. Zie de voorbeelden.
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.
Parameterwaarden
connection_nameEen unieke identifier van de verbinding op het niveau van de Unity Catalog-metastore.
connection_typeIdentificeert het type verbinding en moet een van de volgende zijn:
DATABRICKS-
HTTPVan toepassing op: Databricks SQL
Databricks Runtime 16.2 en hoger MYSQLPOSTGRESQLREDSHIFTSNOWFLAKE-
SQLDW(Synapse) SQLSERVER
OPTIONSHiermee stelt u
connection_typespecifieke 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
STRINGletterlijke aanduiding.Eigenschapssleutels moeten uniek en hoofdlettergevoelig zijn.
waarde
De waarde voor de parameter. De waarde moet een
BOOLEAN,STRINGofINTEGERDECIMALconstante expressie zijn.Voor elke optie die een referentie, zoals een wachtwoord of token, bevat, gebruikt u de
secretfunctie in plaats van de waarde rechtstreeks in te voeren. Geef bijvoorbeeld devaluefor oppasswordinsecret('secrets.r.us', 'postgresPassword')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:
hostEen
STRINGletterlijke waarde. Specificeert dehost_namevoor de externe service. Er wordt een uitzondering gegenereerd als het hostpad geen genormaliseerde URL is.bearer_tokenHet verificatietoken dat moet worden gebruikt bij het maken van de externe service-aanroep. Geef het token op met behulp van de functie SECRET in plaats van als een
STRINGletterlijke. De waarde kan bijvoorbeeld bestaansecret('secrets.r.us', 'httpPassword')uit het invoeren van het letterlijke token.portEen optioneleINTEGERletterlijke waarde die de poort opgeeft. De standaardwaarde is443;base_pathEen optionele
STRINGletterlijk. De standaardwaarde is/. Er wordt een uitzondering gegenereerd als het pad een lege tekenreeks bevat of een onjuist pad met spaties of speciale tekens.
Voorbeelden
Geef referenties op met behulp van de secret functie, zoals wordt weergegeven in de volgende voorbeelden, in plaats van wachtwoorden of tokens rechtstreeks in te voeren.
-- 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",
)
);