Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime 13.3 LTS e superior
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.
Note
CREATE CONNECTION é para ligações à Federação dos Lagos (consulta federada). Para criar ligações para pipelines de ingestão geridos no Lakeflow Connect, utilize a API REST de Connections ou a CLI Databricks (databricks connections create). Ver Desdobramento.
Important
Quando definir opções de ligação que transportam uma credencial, como uma palavra-passe ou token, para as manter seguras, forneça o valor usando a secret função em vez de inserir o valor literal diretamente na OPTIONS cláusula. Isto permite-lhe referenciar um segredo armazenado no serviço secreto Databricks em vez de incluir o valor da credencial na sua declaração.
Veja os exemplos.
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_nameUm identificador exclusivo da conexão no nível do metastore do Unity Catalog.
connection_typeIdentifica o tipo de conexão e deve ser uma das seguintes:
DATABRICKS-
HTTPAplica-se a: Databricks SQL
Databricks Runtime 16.2 e superior MYSQLPOSTGRESQLREDSHIFTSNOWFLAKE-
SQLDW(Sinapse) SQLSERVER
OPTIONSDefine
connection_typeparâ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
STRINGliteral.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.Para qualquer opção que contenha uma credencial, como uma palavra-passe ou token, use a
secretfunção em vez de introduzir o valor diretamente. Por exemplo, forneça ovalueforpasswordassecret('secrets.r.us', 'postgresPassword')em vez de introduzir a palavra-passe literal.
Opções por tipo de ligação
Cada um connection_type aceita o seu próprio conjunto de OPTIONS. A tabela seguinte lista as opções obrigatórias para cada tipo. Para definições opcionais, como TLS e modos alternativos de autenticação, e para os passos de configuração, consulte o guia de ligação de cada fonte de dados.
| Tipo de ligação | Opções necessárias | Guia de ligação |
|---|---|---|
DATABRICKS |
host, httpPath, personalAccessToken |
Databricks-para-Databricks |
HTTP |
host, bearer_token |
Opções HTTP |
MYSQL |
host, port, user, password |
MySQL |
POSTGRESQL |
host, port, user, password |
PostgreSQL |
REDSHIFT |
host, port, user, password |
Redshift |
SNOWFLAKE |
host, port, sfWarehouse, user, password |
Snowflake |
SQLDW |
host, port, user, password |
Azure Synapse |
SQLSERVER |
host, port, user, password |
SQL Server |
Note
Alguns tipos de ligação suportam modos de autenticação adicionais que utilizam diferentes opções. Por exemplo, MySQL e PostgreSQL suportam autenticação AWS IAM (com aws_region e credential), e Snowflake suporta OAuth (com client_id e client_secret). Consulte o guia de ligação para a fonte de dados.
Opções HTTP
Aplica-se a: Databricks SQL
Databricks Runtime 16.2 e superior
O tipo de conexão HTTP suporta as seguintes chaves e valores de opção:
hostUm
STRINGliteral. Especifica ohost_namepara o serviço externo. Uma exceção será lançada se o caminho do host não for uma URL normalizada.bearer_tokenO token de autenticação a ser usado ao realizar a chamada para o serviço externo. Fornecer o token usando a função SECRET em vez de como literal
STRING. Por exemplo, o valor pode compreendersecret('secrets.r.us', 'httpPassword'), em vez de inserir o token literal.portUm literalINTEGERopcional especificando a porta. O padrão é443;base_pathUm 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.
Examples
Forneça credenciais usando a secret função, como mostrado nos exemplos seguintes, em vez de introduzir palavras-passe ou tokens diretamente.
-- 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",
)
);