Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Databricks Runtime 13.3 LTS et versions ultérieures
Unity Catalog uniquement
Cette commande crée une connexion étrangère (ou un serveur), qui représente un système de données distant d’un type spécifique, à l’aide d’options spécifiques au système qui fournissent l’emplacement du système distant et les détails d’authentification.
Les connexions étrangères activent les requêtes fédérées.
Importante
Pour sécuriser les informations d’identification telles que les mots de passe et les jetons, fournissez-les à l’aide de la secret fonction plutôt que d’entrer les valeurs littérales directement dans la OPTIONS clause. Cela vous permet de référencer un secret stocké dans le service secret Databricks au lieu d’inclure la valeur d’informations d’identification dans votre instruction. Consultez les exemples.
Syntaxe
CREATE CONNECTION [IF NOT EXISTS] connection_name
TYPE connection_type
OPTIONS ( option value [, ...] )
[ COMMENT comment ]
Pour la conformité aux normes, vous pouvez également utiliser SERVER au lieu de CONNECTION.
Paramètres
connection_nameIdentificateur unique de la connexion au niveau du metastore Unity Catalog.
connection_typeIdentifie le type de connexion et doit être l’un des éléments suivants :
DATABRICKS-
HTTPS’applique à : Databricks SQL
Databricks Runtime 16.2 et versions ultérieures MYSQLPOSTGRESQLREDSHIFTSNOWFLAKE-
SQLDW(Synapse) SQLSERVER
OPTIONSDéfinie les paramètres spécifiques
connection_typeobligatoires pour établir la connexion.option
Clé de la propriété. La clé peut comporter un ou plusieurs identificateurs séparés par un point, ou un littéral
STRING.Les clés de propriété doivent être uniques et respectent la casse.
valeur
Valeur de la propriété. La valeur doit être une
BOOLEANSTRING,INTEGERDECIMALou constante.Pour toute option qui contient des informations d’identification, telles qu’un mot de passe ou un jeton, utilisez la
secretfonction au lieu d’entrer la valeur directement. Par exemple, indiquez levaluemotpasswordsecret('secrets.r.us', 'postgresPassword')de passe littéral plutôt que d’entrer le mot de passe littéral.
Options HTTP
S’applique à : Databricks SQL
Databricks Runtime 16.2 et versions ultérieures
Le type de connexion HTTP prend en charge les clés d’option et les valeurs suivantes :
hostUn littéral
STRING. Spécifie le «host_name» pour le service externe. Une exception est levée si le chemin d’accès de l’hôte n’est pas une URL normalisée.bearer_tokenJeton d’authentification à utiliser lors de l’appel de service externe. Fournissez le jeton à l’aide de la fonction SECRET plutôt que comme
STRINGlittéral. Par exemple, la valeur peut comprendresecret('secrets.r.us', 'httpPassword')plutôt que d’entrer le jeton littéral.portLittéral facultatifINTEGERspécifiant le port. La valeur par défaut est443;base_pathLittéral
STRINGfacultatif. La valeur par défaut est/. Une exception est levée si le chemin contient une chaîne vide ou un chemin incorrect avec des espaces ou des caractères spéciaux.
Examples
Fournissez des informations d’identification à l’aide de la secret fonction, comme indiqué dans les exemples suivants, plutôt que d’entrer directement des mots de passe ou des jetons.
-- 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",
)
);