Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 13.3 LTS ke atas
Unity Catalog saja
Perintah ini membuat koneksi asing (atau server), yang mewakili sistem data jarak jauh dari jenis tertentu, menggunakan opsi khusus sistem yang menyediakan lokasi sistem jarak jauh dan detail autentikasi.
Koneksi eksternal memungkinkan kueri terfederasi .
Note
CREATE CONNECTION adalah untuk koneksi Federasi Lakehouse (kueri federasi). Untuk membuat koneksi untuk alur penyerapan terkelola di Lakeflow Connect, gunakan Koneksi REST API atau Databricks CLI (databricks connections create). Lihat Penyebaran.
Important
Saat Anda mengatur opsi koneksi yang membawa kredensial, seperti kata sandi atau token, untuk menjaganya tetap aman, berikan nilai menggunakan secret fungsi daripada memasukkan nilai harfiah langsung dalam OPTIONS klausul. Ini memungkinkan Anda mereferensikan rahasia yang disimpan di layanan rahasia Databricks alih-alih menyertakan nilai kredensial dalam pernyataan Anda. Lihat contohnya.
Sintaks
CREATE CONNECTION [IF NOT EXISTS] connection_name
TYPE connection_type
OPTIONS ( option value [, ...] )
[ COMMENT comment ]
Untuk kepatuhan standar, Anda juga dapat menggunakan SERVER alih-alih CONNECTION.
Parameter
connection_namePengidentifikasi unik koneksi di tingkat metastore Unity Catalog.
connection_typeMengidentifikasi jenis koneksi dan harus salah satu dari:
DATABRICKS-
HTTPBerlaku bagi: Databricks SQL
Databricks Runtime 16.2 ke atas MYSQLPOSTGRESQLREDSHIFTSNOWFLAKE-
SQLDW(Synapse) SQLSERVER
OPTIONSMengatur parameter spesifik
connection_typeyang diperlukan untuk membuat koneksi.pilihan
Kunci atribut. Kunci dapat terdiri dari satu atau beberapa pengidentifikasi yang dipisahkan oleh titik, atau
STRINGharfiah.Kunci properti harus unik dan peka terhadap huruf besar/kecil.
nilai
Nilai dari properti. Nilai harus berupa
BOOLEANekspresi ,STRING,INTEGER, atauDECIMALkonstanta.Untuk opsi apa pun yang membawa kredensial, seperti kata sandi atau token, gunakan
secretfungsi alih-alih memasukkan nilai secara langsung. Misalnya, berikanvaluesebagaipasswordsecret('secrets.r.us', 'postgresPassword')daripada memasukkan kata sandi harfiah.
Opsi HTTP
Berlaku untuk: Databricks SQL
Databricks Runtime 16.2 ke atas
Jenis koneksi HTTP mendukung kunci dan nilai opsi berikut:
hostSebuah
STRINGharfiah. Menentukanhost_nameuntuk layanan eksternal. Pengecualian akan dilemparkan jika jalur host bukan URL yang dinormalisasi.bearer_tokenToken autentikasi yang akan digunakan saat melakukan panggilan layanan eksternal. Berikan token menggunakan fungsi SECRET daripada sebagai
STRINGharfiah. Misalnya, nilainya mungkin terdirisecret('secrets.r.us', 'httpPassword')dari memasukkan token harfiah.portINTEGERopsional yang menentukan port. Defaultnya adalah443;base_pathTeks literal opsional
STRING. Defaultnya adalah/. Pengecualian dilemparkan jika jalur berisi string kosong, atau jalur yang salah dengan spasi atau karakter khusus.
Contoh
Berikan kredensial menggunakan fungsi , seperti yang secret ditunjukkan dalam contoh berikut, daripada memasukkan kata sandi atau token secara langsung.
-- 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",
)
);