次の方法で共有


CREATE CONNECTION

適用対象:check marked yes Databricks SQL Databricks Runtime 13.3 LTS 以上 「はい」のチェック マーク Unity Catalog のみ

このコマンドによって、リモート システムの場所と認証の詳細を提供するシステム固有のオプションを使用して、特定の種類のリモート データ システムを表す外部接続 (またはサーバー) が作成されます。

外部接続により、フェデレーション クエリが有効になります。

構文

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

標準コンプライアンスの場合は、SERVER の代わりに CONNECTION を使用することもできます。

パラメーター

  • connection_name

    Unity Catalog メタストア レベルでの接続の一意識別子。

  • connection_type

    接続の種類を識別し、次のうちの 1 つである必要があります。

    • DATABRICKS
    • HTTP 適用対象: Databricks SQL チェックが Databricks Runtime 16.2 以降
    • MYSQL
    • POSTGRESQL
    • REDSHIFT
    • SNOWFLAKE
    • SQLDW (Synapse)
    • SQLSERVER
  • OPTIONS

    接続の確立に必要な connection_type 固有のパラメーターを設定します。

    • オプション

      プロパティ キー。 キーは、ドットで区切られた 1 つまたは複数の識別子、あるいは STRING リテラルで構成できます。

      プロパティ キーは一意である必要があり、大文字と小文字が区別されます。

    • 価値

      プロパティの値。 値は、BOOLEANSTRINGINTEGER、または DECIMAL 定数式である必要があります。 値は、SQL 関数の SECRET 呼び出しである場合もあります。 たとえば、valuepassword は、リテラル パスワードを入力するのではなく、secret('secrets.r.us', 'postgresPassword') で構成できます。

HTTP オプション

適用対象: Databricks SQL チェックが Databricks Runtime 16.2 以降

HTTP 接続の種類では、次のオプション キーと値がサポートされています。

  • host

    STRING リテラル。 外部サービスの host_name を指定します。 ホスト パスが正規化された URL でない場合は、例外がスローされます。

  • bearer_token

    STRING リテラルまたは SECRET 関数の呼び出し。 外部サービス呼び出しを行うときに使用する認証トークン。 たとえば、値はリテラル パスワードを入力するのではなく、 secret('secrets.r.us', 'httpPassword') で構成される場合があります。

  • port ポートを指定する省略可能な INTEGER リテラル。 既定値は 443 です。

  • base_path

    STRING リテラル (省略可能)。 既定値は /です。 パスに空の文字列が含まれている場合、またはスペースまたは特殊文字を含む正しくないパスが含まれている場合は、例外がスローされます。

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