Delen via


CREATE CONNECTION

Van toepassing op:aangevinkt als ja Databricks SQL aangevinkt als ja Databricks Runtime 13.3 LTS en hoger aangevinkt als ja alleen Unity Catalog

Belangrijk

Deze functie is beschikbaar als openbare preview.

Met deze opdracht maakt u een externe verbinding (of server), die een extern gegevenssysteem van een specifiek type vertegenwoordigt, met behulp van systeemspecifieke opties die de locatie van het externe systeem en verificatiegegevens bieden.

Externe verbindingen maken gefedereerde queries mogelijk.

Syntaxis

CREATE CONNECTION [IF NOT EXISTS] connection_name
  TYPE connection_type
  OPTIONS ( option value [, ...] )
  [ COMMENT comment ]

Voor standaardencompatibiliteit kunt u ook gebruiken SERVER in plaats van CONNECTION.

Parameters

  • connection_name

    Een unieke identifier van de verbinding op het niveau van de Unity Catalog-metastore.

  • connection_type

    Identificeert het type verbinding en moet een van de volgende zijn:

    • DATABRICKS
    • HTTP Van toepassing op: Databricks SQL gecontroleerd en gemarkeerd als ja Databricks Runtime 16.2 en hoger
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Hiermee stelt u connection_type specifieke parameters in die nodig zijn om de verbinding tot stand te brengen.

    • optie

      De eigenschapssleutel. De sleutel kan bestaan uit een of meer identificatoren, gescheiden door een punt of een STRING letterlijke aanduiding.

      Eigenschapssleutels moeten uniek en hoofdlettergevoelig zijn.

    • value

      De waarde voor de parameter. De waarde moet een BOOLEAN, STRINGof INTEGERDECIMAL constante expressie zijn. De waarde kan ook een aanroep van de SECRET SQL-functie zijn. Het value voor password kan bijvoorbeeld secret('secrets.r.us', 'postgresPassword') omvatten in plaats van het letterlijke wachtwoord in te voeren.

HTTP opties

nl-NL: Van toepassing op: Databricks SQL gecontroleerd ja Databricks Runtime 16.2 en hoger

Het HTTP-verbindingstype ondersteunt de volgende optiesleutels en -waarden:

  • host

    Een STRING letterlijke waarde. Specificeert de host_name voor de externe service. Er wordt een uitzondering gegenereerd als het hostpad geen genormaliseerde URL is.

  • bearer_token

    Een letterlijke STRING aanroep of de aanroep van de SECRET functie. Het verificatietoken dat moet worden gebruikt bij het maken van de externe service-aanroep. De waarde voor kan bijvoorbeeld bestaan uit secret('secrets.r.us', 'httpPassword') in plaats van het invoeren van het letterlijke wachtwoord.

  • port Een optionele INTEGER letterlijke waarde die de poort opgeeft. De standaardwaarde is 443;

  • base_path

    Een optionele STRING letterlijk. De standaardwaarde is /. Er wordt een uitzondering gegenereerd als het pad een lege tekenreeks bevat of een onjuist pad met spaties of speciale tekens.

Voorbeeld

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