Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime 13.3 LTS y versiones posteriores
solo a Unity Catalog
Este comando crea una conexión externa (o servidor), que representa un sistema de datos remoto de un tipo específico, utilizando opciones específicas del sistema que proporcionan la ubicación del sistema remoto y los detalles de autenticación.
Las conexiones externas habilitan las consultas federadas.
Importante
Al establecer opciones de conexión que llevan una credencial, como una contraseña o un token, para mantenerlos seguros, proporcione el valor mediante la secret función en lugar de escribir el valor literal directamente en la OPTIONS cláusula . Esto le permite hacer referencia a un secreto almacenado en el servicio secreto de Databricks en lugar de incluir el valor de credencial en la instrucción. Vea los ejemplos.
Sintaxis
CREATE CONNECTION [IF NOT EXISTS] connection_name
TYPE connection_type
OPTIONS ( option value [, ...] )
[ COMMENT comment ]
Para el cumplimiento de estándares, también puede usar SERVER en lugar de CONNECTION.
Parámetros
connection_nameIdentificador único de la conexión en el nivel de metastore del catálogo de Unity.
connection_typeIdentifica el tipo de conexión y debe ser uno de los siguientes:
DATABRICKS-
HTTPSe aplica a: Databricks SQL
Databricks Runtime 16.2 y versiones posteriores MYSQLPOSTGRESQLREDSHIFTSNOWFLAKE-
SQLDW(Synapse) SQLSERVER
OPTIONSEstablece
connection_typelos parámetros específicos necesarios para establecer la conexión.opción
Clave de propiedad. La clave puede constar de uno o más identificadores separados por un punto o un literal de
STRING.Las claves de propiedad deben ser únicas y distinguen mayúsculas de minúsculas.
valor
El valor de la propiedad. El valor debe ser una
BOOLEANSTRING,INTEGER,DECIMALo .Para cualquier opción que contenga una credencial, como una contraseña o un token, use la
secretfunción en lugar de escribir el valor directamente. Por ejemplo, proporcionevaluepara comopasswordsecret('secrets.r.us', 'postgresPassword')en lugar de escribir la contraseña literal.
Opciones http
Se aplica a: Databricks SQL
Databricks Runtime 16.2 y versiones posteriores
El tipo de conexión HTTP admite las siguientes claves y valores de opción:
hostUn literal de
STRING. Especifica elhost_namepara el servicio externo. Se producirá una excepción si la ruta de acceso del host no es una dirección URL normalizada.bearer_tokenToken de autenticación que se va a usar al realizar la llamada al servicio externo. Proporcione el token mediante la función SECRET en lugar de como un
STRINGliteral. Por ejemplo, el valor puede comprendersecret('secrets.r.us', 'httpPassword')en lugar de escribir el token literal.portUn literal deINTEGERopcional que especifica el puerto. El valor predeterminado es443;base_pathLiteral
STRINGopcional. El valor predeterminado es/. Se produce una excepción si la ruta de acceso contiene una cadena vacía o una ruta de acceso incorrecta con espacios o caracteres especiales.
Ejemplos
Proporcione credenciales mediante la secret función , como se muestra en los ejemplos siguientes, en lugar de escribir contraseñas o tokens directamente.
-- 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",
)
);