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

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.

Important

Als u referenties zoals wachtwoorden en tokens veilig wilt houden, geeft u deze op met behulp van de secret functie in plaats van de letterlijke waarden rechtstreeks in de component in te OPTIONS voeren. Hiermee kunt u verwijzen naar een geheim dat is opgeslagen in de Databricks-geheime service in plaats van de referentiewaarde in uw instructie op te slaan. Zie de voorbeelden.

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.

Parameterwaarden

  • 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.

    • waarde

      De waarde voor de parameter. De waarde moet een BOOLEAN, STRINGof INTEGERDECIMALconstante expressie zijn.

      Voor elke optie die een referentie, zoals een wachtwoord of token, bevat, gebruikt u de secret functie in plaats van de waarde rechtstreeks in te voeren. Geef bijvoorbeeld de value for op password in secret('secrets.r.us', 'postgresPassword') 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

    Het verificatietoken dat moet worden gebruikt bij het maken van de externe service-aanroep. Geef het token op met behulp van de functie SECRET in plaats van als een STRING letterlijke. De waarde kan bijvoorbeeld bestaan secret('secrets.r.us', 'httpPassword') uit het invoeren van het letterlijke token.

  • 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.

Voorbeelden

Geef referenties op met behulp van de secret functie, zoals wordt weergegeven in de volgende voorbeelden, in plaats van wachtwoorden of tokens rechtstreeks in te voeren.

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