Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höher
Nur Unity Catalog
Dieser Befehl erstellt eine Fremdverbindung (oder einen Server), die ein Remotedatensystem eines bestimmten Typs darstellt, wobei systemspezifische Optionen verwendet werden, die den Speicherort des Remotesystems und Authentifizierungsdetails angeben.
Fremdverbindungen ermöglichen Verbundabfragen.
Von Bedeutung
Um Anmeldeinformationen wie Kennwörter und Token sicher zu halten, stellen Sie sie mithilfe der secret Funktion bereit, anstatt die Literalwerte direkt in die OPTIONS Klausel einzugeben. Auf diese Weise können Sie auf einen geheimen Schlüssel verweisen, der im Databricks-Geheimdienst gespeichert ist, anstatt den Anmeldeinformationswert in Ihre Anweisung einzuverlagern. Sehen Sie sich die Beispiele an.
Syntax
CREATE CONNECTION [IF NOT EXISTS] connection_name
TYPE connection_type
OPTIONS ( option value [, ...] )
[ COMMENT comment ]
Zur Einhaltung von Standards können Sie auch SERVER anstelle von CONNECTION verwenden.
Parameter
connection_nameEin eindeutiger Bezeichner der Verbindung auf Unity Catalog-Metastoreebene.
connection_typeGibt den Typ der Verbindung an und muss einen der folgenden Typen aufweisen:
DATABRICKS-
HTTPGilt für: Databricks SQL
Databricks Runtime 16.2 und höher MYSQLPOSTGRESQLREDSHIFTSNOWFLAKE-
SQLDW(Synapse) SQLSERVER
OPTIONSLegt
connection_type-spezifische Parameter fest, die zum Herstellen der Verbindung erforderlich sind.Option
Der Eigenschaftenschlüssel. Der Schlüssel kann aus einem oder mehreren Bezeichnern bestehen, die durch einen Punkt oder ein
STRING-Literal getrennt sind.Eigenschaftenschlüssel müssen eindeutig sein, und die Groß-/Kleinschreibung muss beachtet werden.
Wert
Der Wert für die Eigenschaft. Der Wert muss ein
BOOLEAN,STRING, ,INTEGERoderDECIMALkonstanter Ausdruck sein.Verwenden Sie für jede Option, die anmeldeinformationen enthält, z. B. ein Kennwort oder ein Token, die
secretFunktion, anstatt den Wert direkt einzugeben. Geben Sie z. B. nicht dasvaluepasswordsecret('secrets.r.us', 'postgresPassword')Literalkennwort ein.
HTTP-Optionen
Gilt für: Databricks SQL
Databricks Runtime 16.2 und höher
Der HTTP-Verbindungstyp unterstützt die folgenden Optionsschlüssel und -werte:
hostEin
STRING-Literal. Gibthost_namefür den externen Dienst an. Eine Ausnahme wird ausgelöst, wenn der Hostpfad keine normalisierte URL ist.bearer_tokenDas Authentifizierungstoken, das beim Aufruf des externen Diensts verwendet werden soll. Stellen Sie das Token mithilfe der FUNKTION GEHEIM anstelle eines
STRINGLiterals bereit. Beispielsweise kann der Wert im Gegensatz zur Eingabe des Literaltokens bestehensecret('secrets.r.us', 'httpPassword').portEin optionalesINTEGER-Literal, das den Port angibt. Der Standardwert ist443;base_pathEin optionales
STRING-Literal. Der Standardwert lautet/. Eine Ausnahme wird ausgelöst, wenn der Pfad eine leere Zeichenfolge oder einen falschen Pfad mit Leerzeichen oder Sonderzeichen enthält.
Beispiele
Geben Sie Anmeldeinformationen mithilfe der secret Funktion an, wie in den folgenden Beispielen dargestellt, anstatt Kennwörter oder Token direkt einzugeben.
-- 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",
)
);