Bagikan melalui


CREATE CONNECTION

Berlaku untuk:ditandai dengan tanda centang ya Databricks SQL ditandai dengan tanda centang ya Databricks Runtime 13.3 LTS ke atas ditandai dengan tanda centang ya 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 .

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_name

    Pengidentifikasi unik koneksi di tingkat metastore Unity Catalog.

  • connection_type

    Mengidentifikasi jenis koneksi dan harus salah satu dari:

    • DATABRICKS
    • HTTP Berlaku bagi: Databricks SQL ditandai ya Databricks Runtime 16.2 ke atas
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    Mengatur parameter spesifik connection_type yang diperlukan untuk membuat koneksi.

    • pilihan

      Kunci atribut. Kunci dapat terdiri dari satu atau beberapa pengidentifikasi yang dipisahkan oleh titik, atau STRING harfiah.

      Kunci properti harus unik dan peka terhadap huruf besar/kecil.

    • nilai

      Nilai dari properti. Nilai harus berupa BOOLEANekspresi , STRING, INTEGER, atau DECIMALkonstanta. Nilainya mungkin juga merupakan panggilan ke SECRET fungsi SQL. Misalnya, value untuk password mungkin terdiri secret('secrets.r.us', 'postgresPassword') sebagai lawan dari memasukkan kata sandi sebenarnya.

Opsi HTTP

Berlaku untuk: Databricks SQL ditandai dicentang ya Databricks Runtime 16.2 ke atas

Jenis koneksi HTTP mendukung kunci dan nilai opsi berikut:

  • host

    Sebuah STRING harfiah. Menentukan host_name untuk layanan eksternal. Pengecualian akan dilemparkan jika jalur host bukan URL yang dinormalisasi.

  • bearer_token

    Pemanggilan literal STRING atau fungsi SECRET. Token autentikasi yang akan digunakan saat melakukan panggilan layanan eksternal. Misalnya, nilai dapat terdiri dari secret('secrets.r.us', 'httpPassword') dibandingkan dengan memasukkan kata sandi harfiah.

  • port INTEGER opsional yang menentukan port. Defaultnya adalah 443;

  • base_path

    Teks literal opsional STRING. Defaultnya adalah /. Pengecualian dilemparkan jika jalur berisi string kosong, atau jalur yang salah dengan spasi atau karakter khusus.

Contoh

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