Compartir vía


CREATE CONNECTION

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores casilla marcada como Sí 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.

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_name

    Identificador único de la conexión en el nivel de metastore del catálogo de Unity.

  • connection_type

    Identifica el tipo de conexión y debe ser uno de los siguientes:

    • DATABRICKS
    • HTTP Se aplica a: Databricks SQL comprobar sí marcado Databricks Runtime 16.2 y versiones posteriores
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Establece connection_type los 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 . El valor también puede ser una llamada a la función SQL SECRET. Por ejemplo, el value para password puede incluir secret('secrets.r.us', 'postgresPassword') en lugar de escribir la contraseña literal.

Opciones http

Se aplica a: Databricks SQL comprobar sí marcado Databricks Runtime 16.2 y versiones posteriores

El tipo de conexión HTTP admite las siguientes claves y valores de opción:

  • host

    Un literal de STRING. Especifica el host_name para el servicio externo. Se producirá una excepción si la ruta de acceso del host no es una dirección URL normalizada.

  • bearer_token

    Literal o invocación STRING de la función SECRET. Token de autenticación que se va a usar al realizar la llamada al servicio externo. Por ejemplo, el valor puede incluir secret('secrets.r.us', 'httpPassword') en lugar de escribir la contraseña literal.

  • portUn literal de INTEGER opcional que especifica el puerto. El valor predeterminado es 443;

  • base_path

    Literal STRING opcional. 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.

Ejemplo

-- 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",
    )
  );