Partilhar via


CREATE CONNECTION

Aplica-se a:assinalado como sim Databricks SQL assinalado como sim Databricks Runtime 13.3 LTS e superior assinalado como sim apenas Unity Catalog

Este comando cria uma conexão externa (ou servidor), que representa um sistema de dados remoto de um tipo específico, usando opções específicas do sistema que fornecem a localização do sistema remoto e detalhes de autenticação.

As conexões externas permitem consultas federadas.

Sintaxe

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

Para conformidade com os padrões, você também pode usar SERVER em vez de CONNECTION.

Parâmetros

  • connection_name

    Um identificador exclusivo da conexão no nível do metastore do Unity Catalog.

  • connection_type

    Identifica o tipo de conexão e deve ser uma das seguintes:

    • DATABRICKS
    • HTTP Aplica-se a: Databricks SQL assinalado sim Databricks Runtime 16.2 e superior
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Sinapse)
    • SQLSERVER
  • OPTIONS

    Define connection_type parâmetros específicos necessários para estabelecer a conexão.

    • opção

      A chave da propriedade. A chave pode consistir em um ou mais identificadores separados por um ponto ou um STRING literal.

      As chaves de propriedade devem ser exclusivas e diferenciar maiúsculas de minúsculas.

    • valor

      O valor da propriedade. O valor deve ser uma BOOLEANSTRING , INTEGER, DECIMAL, ou constante. O valor também pode ser uma chamada para a SECRET função SQL. Por exemplo, o value for password pode incluir secret('secrets.r.us', 'postgresPassword') em vez de digitar a senha literal.

Opções HTTP

Aplica-se a: Databricks SQL assinalada como sim Databricks Runtime 16.2 e superior

O tipo de conexão HTTP suporta as seguintes chaves e valores de opção:

  • host

    Um STRING literal. Especifica o host_name para o serviço externo. Uma exceção será lançada se o caminho do host não for uma URL normalizada.

  • bearer_token

    Um STRING literal ou invocação da função SECRET . O token de autenticação a ser usado ao realizar a chamada para o serviço externo. Por exemplo, o valor pode incluir secret('secrets.r.us', 'httpPassword') em vez de digitar a senha literal.

  • port Um literal INTEGER opcional especificando a porta. O padrão é 443;

  • base_path

    Um literal opcional STRING. A predefinição é /. Uma exceção será lançada se o caminho contiver uma cadeia de caracteres vazia ou um caminho incorreto com espaços ou caracteres especiais.

Exemplo

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