Partager via


CREATE CONNECTION

S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 13.3 LTS et versions ultérieures case marquée oui 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.

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_name

    Identificateur unique de la connexion au niveau du metastore Unity Catalog.

  • connection_type

    Identifie le type de connexion et doit être l’un des éléments suivants :

    • DATABRICKS
    • HTTP S’applique à : Databricks SQL coché oui Databricks Runtime 16.2 et versions ultérieures
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Définie les paramètres spécifiques connection_type obligatoires 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. La valeur peut également être un appel à la fonction SQL SECRET. Par exemple, le value pour password peut comprendre secret('secrets.r.us', 'postgresPassword') au lieu d’entrer le mot de passe littéral.

Options HTTP

S’applique à : Databricks SQL coché oui 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 :

  • host

    Un 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_token

    Littéral STRING ou invocation de la fonction SECRET. Jeton d’authentification à utiliser lors de l’appel de service externe. Par exemple, la valeur peut comprendre secret('secrets.r.us', 'httpPassword') plutôt que d’entrer le mot de passe littéral.

  • port Littéral facultatif INTEGER spécifiant le port. La valeur par défaut est 443;

  • base_path

    Littéral STRING facultatif. 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.

Exemple

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