Dela via


CREATE CONNECTION

gäller för:markerat med ja Databricks SQL markerat med ja Databricks Runtime 13.3 LTS och senare markerat med ja endast Unity Catalog

Det här kommandot skapar en extern anslutning (eller server), som representerar ett fjärrdatasystem av en viss typ, med hjälp av systemspecifika alternativ som anger platsen för fjärrsystemet och autentiseringsinformationen.

Externa anslutningar möjliggör federerade förfrågningar.

Syntax

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

För standardefterlevnad kan du också använda SERVER i stället CONNECTIONför .

Parameterar

  • connection_name

    En unik identifierare för anslutningen på metaarkivnivå för Unity Catalog.

  • connection_type

    Identifierar typen av anslutning och måste vara en av:

    • DATABRICKS
    • HTTP gäller för: Databricks SQL markerad som ja Databricks Runtime 16.2 och senare
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Anger connection_type specifika parametrar som behövs för att upprätta anslutningen.

    • alternativ

      Egenskapsnyckel Nyckeln kan bestå av en eller flera identifierare avgränsade med en punkt eller en STRING literal.

      Egenskapsnycklar måste vara unika och skiftlägeskänsliga.

    • värde

      Värdet för egenskapen. Värdet måste vara ett BOOLEAN, STRING, INTEGEReller DECIMALkonstant uttryck. Värdet kan också vara ett anrop till SECRET SQL-funktionen. Till exempel kan value för password bestå av secret('secrets.r.us', 'postgresPassword') i stället för att ange det bokstavliga lösenordet.

HTTP-alternativ

gäller för: Databricks SQL kontrollera markerat ja Databricks Runtime 16.2 och senare

HTTP-anslutningstypen stöder följande alternativnycklar och värden:

  • host

    En STRING literal. Anger host_name för den externa tjänsten. Ett undantag utlöses om värdsökvägen inte är en normaliserad URL.

  • bearer_token

    En STRING literal eller anrop av funktionen SECRET. Den autentiseringstoken som ska användas när du anropar den externa tjänsten. Till exempel kan värdet bestå av secret('secrets.r.us', 'httpPassword') i stället för att ange literallösenordet.

  • port En valfri INTEGER literal som anger porten. Standardvärdet är 443;

  • base_path

    En valfri STRING literal. Standardvärdet är /. Ett undantag utlöses om sökvägen innehåller en tom sträng eller en felaktig sökväg med blanksteg eller specialtecken.

Exempel

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