Compartilhar via


CREATE CONNECTION

Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e superior marca de seleção positiva Somente Catálogo do Unity

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

As conexões estrangeiras habilitam consultas federadas.

Sintaxe

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

Para conformidade com 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 Catálogo do Unity.

  • connection_type

    Identifica o tipo da conexão e deve ser um dos seguintes:

    • DATABRICKS
    • HTTP Aplica-se a: Databricks SQL marque sim Databricks Runtime 16.2 e versões superiores
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

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

    • opção

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

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

    • valor

      O valor para a propriedade. O valor deve ser uma BOOLEANSTRING , INTEGERou DECIMALconstante. O valor também pode ser uma chamada para a função SQL SECRET. Por exemplo, o value para a password pode ser composto de secret('secrets.r.us', 'postgresPassword') em vez de inserir a senha literal.

Opções HTTP

Aplica-se a: Databricks SQL marque sim Databricks Runtime 16.2 e versões superiores

O tipo de conexão HTTP dá suporte às seguintes chaves e valores de opção:

  • host

    Uma literal de STRING. Especifica o host_name do serviço externo. Uma exceção será gerada se o caminho do host não for uma URL normalizada.

  • bearer_token

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

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

  • base_path

    Um literal STRING opcional. O padrão é /. Uma exceção será gerada 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",
    )
  );