HTTP 要求を外部システムに送信する

プレビュー

この機能はプライベートプレビューの段階です。試用については、Databricksの連絡先にお問い合わせください。

この記事では、HTTP リクエストを外部サービスに送信してエージェント用の外部ツールを作成できるように、HTTP 接続を作成する方法について説明します。 Mosaic AI エージェント フレームワークとツール呼び出しの詳細については、「 AI エージェントの作成」を参照してください。

始める前に

ソース要件:

  • 外部システムからのベアラートークン。

ワークスペースの要件:

  • Unity Catalogのワークスペースが有効になっています。

コンピュートの要件:

  • Databricks コンピュートは、 Databricks Runtime 15.4 以降を使用し、共有またはシングル ユーザー アクセス モードを使用する必要があります。

  • SQLウェアハウスはProまたはServerlessである必要があります。

必要な権限:

  • 接続を作成するには、メタストア管理者か、ワークスペースに接続されているUnity Catalogメタストアの CREATE CONNECTION 権限を持つユーザーである必要があります。

追加の権限要件は、以下の各タスクベースのセクションに記載しています。

接続を作成する

接続では、外部データベースシステムにアクセスするためのパスと認証情報を指定します。接続を作成するには、カタログエクスプローラーを使用するか、Databricksノートブックまたは Databricks SQLクエリーエディタで CREATE CONNECTION SQLコマンドを使用できます。

注:

Databricks REST API または Databricks CLI を使用して接続を作成することもできます。 POST /api/2.1/unity-catalog/connections を参照してください。 および Unity Catalog コマンド

必要な権限:メタストア管理者またはCREATE CONNECTION権限を持つユーザー。

  1. Databricksワークスペースで、カタログアイコンカタログをクリックします。

  2. 左側のペインで、[外部データ]メニューを展開し、[接続]を選択します。

  3. [接続の作成]をクリックします。

  4. ユーザーフレンドリーな接続名を入力します。

  5. [ 接続タイプ ] で [HTTP] を選択します。

  6. HTTP 接続の次の接続プロパティを入力します。

    • ホスト: たとえば、 https://databricks.com

    • ポート: たとえば、 443

    • ベースパス: たとえば、 /api/

    • ベアラートークン:たとえば、 bearer-token

  7. (オプション)コメントを追加します。

  8. [作成] をクリックします。

ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。

CREATE CONNECTION <connection-name> TYPE HTTP
OPTIONS (
  host '<hostname>',
  port '<port>',
  base_path '<base-path>',
  bearer_token '<bearer-token>'
);

Databricks では、資格情報などの機密性の高い値には、プレーンテキスト文字列の代わりに シークレット を使用することをお勧めします。 例えば:

CREATE CONNECTION <connection-name> TYPE HTTP
OPTIONS (
  host '<hostname>',
  port '<port>',
  base_path '<base-path>',
  bearer_token secret ('<secret-scope>','<secret-key-password>')
)

シークレットの設定については、「シークレット管理」を参照してください。

HTTP 要求を外部システムに送信する

http_request 組み込み関数を使用して、外部データソースに HTTP 要求を送信できるようになりました。

必要な権限: 接続オブジェクトに対する USE CONNECTION

ノートブックまたはDatabricks SQLエディタで次のSQLコマンドを実行します。括弧内の項目はオプションです。プレースホルダーの値を置き換えます。

  • <connection-name>: ホスト、ポート、base_path、およびアクセス資格情報を指定する 接続オブジェクト

  • <http-method>: 呼び出しを行うために使用される HTTP 要求メソッド。 例: GETPOSTPUTDELETE

  • <path>: サービス・リソースを呼び出す base_path の後に連結するパス。

  • json: リクエストと共に送信する JSON 本文。

  • headers: リクエストヘッダーを指定するマップ。

SELECT http_request(
  conn => <connection-name>,
  method => <http-method>,
  path => <path>,
  json => to_json(named_struct(
    'text', text
  )),
  headers => map(
    'Accept', "application/vnd.github+json"
  )
);

制限事項

  • ベアラー トークン認証は、サポートされている唯一の認証方法です。