外部サービス独自のクライアント SDK と 共に Unity カタログ接続プロキシ エンドポイント を使用して、エージェント コードから REST API を直接呼び出します。 SDK のベース URL をプロキシ エンドポイントにポイントし、API キーとして Azure Databricks トークンを使用します。 Azure Databricks は要求を認証し、Unity カタログ接続から外部サービスの資格情報を自動的に挿入します。 コードは外部サービスのトークンを直接処理しません。
Requirements
- 外部サービス用のUnity Catalog HTTP接続 。 プロキシエンドポイントはこの接続を利用して認証し、サービスの認証情報を注入します。
-
USE CONNECTION接続オブジェクトに対して。
OpenAI
DatabricksOpenAIを使用して、Unity カタログ接続プロキシ経由で外部 OpenAI に呼び出しをルーティングします。 まず、 Databricks シークレットとして格納されている OpenAI API キーを使用して、Unity カタログ HTTP 接続を作成します。
CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
host 'https://api.openai.com',
base_path '/v1',
bearer_token secret ('<secret-scope>', '<secret-key>')
);
次に、 databricks-openai パッケージをインストールし、エージェント コードでプロキシ URL とワークスペース クライアントを使用します。
pip install databricks-openai
from databricks_openai import DatabricksOpenAI
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
client = DatabricksOpenAI(
workspace_client=w,
base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/openai_connection/proxy/",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
Slack
Unity カタログ接続プロキシ経由でルーティングするように Slack SDK を構成します。 ホスト https://slack.com とベース パス /apiを使用して Unity カタログ HTTP 接続を作成し、SDK のベース URL としてプロキシ URL を使用します。
from slack_sdk import WebClient
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
client = WebClient(
token=w.config.authenticate()["Authorization"].split(" ")[1],
base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/slack_connection/proxy/",
)
result = client.chat_postMessage(channel="C123456", text="Hello from Databricks!")
print(result["message"]["text"])
汎用 HTTP
専用 SDK を使用しないサービスの場合は、プロキシ URL と共に requests ライブラリを直接使用します。
import requests
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
response = requests.post(
f"{w.config.host}/api/2.0/unity-catalog/connections/my_connection/proxy/api/v1/resource",
headers={
**w.config.authenticate(),
"Content-Type": "application/json",
},
json={"key": "value"},
)
プロキシ エンドポイント、サポートされている認証方法、接続のセットアップの詳細については、「 HTTP 接続プロキシを使用した要求の転送」を参照してください。