HTTP 要求を外部システムに送信する
プレビュー
この機能はプライベートプレビューの段階です。試用については、Databricksの連絡先にお問い合わせください。
この記事では、HTTP リクエストを外部サービスに送信してエージェント用の外部ツールを作成できるように、HTTP 接続を作成する方法について説明します。 Mosaic AI エージェント フレームワークとツール呼び出しの詳細については、「 AI エージェントの作成」を参照してください。
始める前に
ソース要件:
外部システムからのベアラートークン。
ワークスペースの要件:
Unity Catalogのワークスペースが有効になっています。
コンピュートの要件:
Databricks コンピュート リソースから外部システムへのネットワーク接続。「レイクハウスフェデレーションのネットワーキングに関する推奨事項」を参照してください。
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
権限を持つユーザー。
Databricksワークスペースで、カタログをクリックします。
左側のペインで、[外部データ]メニューを展開し、[接続]を選択します。
[接続の作成]をクリックします。
ユーザーフレンドリーな接続名を入力します。
[ 接続タイプ ] で [HTTP] を選択します。
HTTP 接続の次の接続プロパティを入力します。
ホスト: たとえば、
https://databricks.com
ポート: たとえば、
443
ベースパス: たとえば、
/api/
ベアラートークン:たとえば、
bearer-token
(オプション)コメントを追加します。
[作成] をクリックします。
ノートブックまたは 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 要求メソッド。 例:GET
、POST
、PUT
、DELETE
<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"
)
);