EMQXエージェントをDatabricksに接続する
Databricksコネクターを使用すると、EMQXエージェントがUnity Catalog、SQLウェアハウスとステートメント、ジョブ、モデルサービングエンドポイント、およびVector Searchと連携できます。このコネクターを使って、運用データのクエリ実行、データワークフローの実行、Databricksの結果を用いた自動化された意思決定を行うエージェントを構築できます。
よくあるユースケース
- SQLワークフローを生成する前にカタログ、スキーマ、テーブルを確認する。
- SQLステートメントを実行し、その結果をアラートやレポートに利用する。
- エージェントワークフローからDatabricksジョブを開始または確認する。
- Vector Searchインデックスをクエリして、エージェントに企業データのコンテキストを追加する。
チャットプロンプトの例:
text
analytics-databricksコネクターを使用してください。利用可能なカタログとスキーマを一覧表示し、telemetryテーブルを見つけて、最新の20件の異常レコードをクエリしてください。前提条件
コネクターを追加する前に、以下を準備してください:
- DatabricksワークスペースのWebアドレス。ブラウザに表示されるURLを末尾のスラッシュなしで使用します。例:
https://dbc-abc123.cloud.databricks.com - 同じワークスペースで生成されたDatabricksのパーソナルアクセストークン。
- ワークフローで必要なUnity Catalogオブジェクト、SQLウェアハウス、ジョブ、サービングエンドポイント、またはVector Searchリソースへのアクセス権。
- 選択したツールで必要なDatabricksのエンタイトルメントまたはワークスペースロール。
Databricksコネクターを追加する
- 左側のナビゲーションメニューで Connectors をクリックします。
- Available タブで Databricks を見つけて Add をクリックします。
- 分かりやすいコネクター名を入力します。
- Confirm をクリックします。EMQXエージェントが認可ダイアログでDatabricks接続フォームを開きます。
- 以下の情報を入力します:
- Workspace URL:末尾のスラッシュなしでDatabricksワークスペースのWebアドレスを入力します。URLはアクセストークンが生成されたワークスペースを特定する必要があります。
- Access Token:
dapiで始まるDatabricksのパーソナルアクセストークンを入力します。トークンはDatabricksのユーザー名をクリックし、Settings -> Developer -> Access tokens -> Generate new token から生成できます。
- Connect Account をクリックします。
- Composioが接続を確認し、EMQXエージェントに戻るまで待ちます。
- Added タブで Authorization successful メッセージが表示され、コネクターのステータスが Authorized になっていることを確認します。
サポートされているツール
ユーザーとUnity Catalog
| ツール | アクセス | 説明 |
|---|---|---|
DATABRICKS_IAM_CURRENT_USER_ME | 読み取り | 現在のDatabricksユーザー情報を取得します。 |
DATABRICKS_LIST_CATALOGS | 読み取り | Unity Catalogのカタログを一覧表示します。 |
DATABRICKS_LIST_SCHEMAS | 読み取り | カタログ内のスキーマを一覧表示します。 |
DATABRICKS_LIST_TABLES | 読み取り | カタログとスキーマ内のテーブルを一覧表示します。 |
SQLウェアハウスとステートメント
| ツール | アクセス | 説明 |
|---|---|---|
DATABRICKS_LIST_SQL_WAREHOUSES | 読み取り | Databricks SQLウェアハウスを一覧表示します。 |
DATABRICKS_SQL_QUERIES_GET | 読み取り | SQLクエリの詳細を取得します。 |
DATABRICKS_SQL_QUERY_HISTORY_LIST | 読み取り | SQLクエリ履歴を一覧表示します。 |
DATABRICKS_SQL_STATEMENT_EXEC_CANCEL_EXEC | 書き込み | 実行中のSQLステートメントをキャンセルします。 |
DATABRICKS_SQL_STATEMENT_EXEC_EXECUTE_STATEMENT | 書き込み | SQLウェアハウスでSQLステートメントを実行します。 |
DATABRICKS_SQL_STATEMENT_EXEC_GET_RESULT_CHUNK | 読み取り | SQLステートメントの結果チャンクを取得します。 |
DATABRICKS_SQL_STATEMENT_EXEC_GET_STATEMENT | 読み取り | SQLステートメントのステータスと結果メタデータを取得します。 |
DATABRICKS_SQL_WAREHOUSES_DELETE | 破壊的 | SQLウェアハウスを削除します。 |
DATABRICKS_SQL_WAREHOUSES_EDIT | 書き込み | SQLウェアハウスの設定を更新します。 |
DATABRICKS_SQL_WAREHOUSES_GET | 読み取り | SQLウェアハウスの詳細を取得します。 |
DATABRICKS_SQL_WAREHOUSES_START | 書き込み | SQLウェアハウスを起動します。 |
ジョブと実行
| ツール | アクセス | 説明 |
|---|---|---|
DATABRICKS_CREATE_JOB | 書き込み | Databricksジョブを作成します。 |
DATABRICKS_JOBS_JOBS_CANCEL_ALL_RUNS | 書き込み | ジョブのすべてのアクティブな実行をキャンセルします。 |
DATABRICKS_JOBS_JOBS_CANCEL_RUN | 書き込み | ジョブ実行をキャンセルします。 |
DATABRICKS_JOBS_JOBS_DELETE_RUN | 破壊的 | ジョブ実行レコードを削除します。 |
DATABRICKS_JOBS_JOBS_GET | 読み取り | ジョブの詳細を取得します。 |
DATABRICKS_JOBS_JOBS_SET_PERMISSIONS | 書き込み | ジョブのアクセス権を設定します。 |
DATABRICKS_JOB_RUN_BY_ID | 読み取り | 実行IDによるジョブ実行の詳細を取得します。 |
DATABRICKS_LIST_JOBS | 読み取り | Databricksジョブを一覧表示します。 |
DATABRICKS_LIST_RUNS | 読み取り | Databricksジョブ実行を一覧表示します。 |
DATABRICKS_SUBMIT_RUN | 書き込み | 一回限りのDatabricks実行を送信します。 |
DATABRICKS_UPDATE_JOB_BY_ID | 書き込み | ジョブIDによるジョブの更新を行います。 |
モデルサービング
| ツール | アクセス | 説明 |
|---|---|---|
DATABRICKS_LIST_MODEL_SERVING_ENDPOINTS | 読み取り | モデルサービングエンドポイントを一覧表示します。 |
DATABRICKS_SERVING_SERVING_ENDPOINTS_CREATE_PROV_THPUT | 書き込み | プロビジョンドスループットのモデルサービングエンドポイントを作成します。 |
DATABRICKS_SERVING_SERVING_ENDPOINTS_DELETE | 破壊的 | モデルサービングエンドポイントを削除します。 |
DATABRICKS_SERVING_SERVING_ENDPOINTS_GET | 読み取り | モデルサービングエンドポイントの詳細を取得します。 |
Vector Search
| ツール | アクセス | 説明 |
|---|---|---|
DATABRICKS_LIST_VECTOR_SEARCH_ENDPOINTS | 読み取り | Vector Searchエンドポイントを一覧表示します。 |
DATABRICKS_VECTORSEARCH_VECTOR_SEARCH_ENDPOINTS_CREATE | 書き込み | Vector Searchエンドポイントを作成します。 |
DATABRICKS_VECTORSEARCH_VECTOR_SEARCH_INDEXES_DELETE_INDEX | 破壊的 | Vector Searchインデックスを削除します。 |
DATABRICKS_VECTORSEARCH_VECTOR_SEARCH_INDEXES_QUERY_INDEX | 読み取り | Vector Searchインデックスをクエリします。 |
DATABRICKS_VECTORSEARCH_VECTOR_SEARCH_INDEXES_UPSERT_DATA | 書き込み | Vector Searchインデックスにデータを挿入または更新します。 |
重要なお知らせ
SQLウェアハウス、ジョブ実行、モデルサービングエンドポイント、またはVector Searchインデックスを削除するツールは、リソースや運用履歴を削除する可能性があります。これらのツールを許可する前に対象リソースを必ず確認してください。
チャットでコネクターを使用する
- チャット入力欄でコネクターアイコンをクリックします。
- 認可済みの Databricks コネクターを選択します。
- プロンプトでエージェントが使用する外部リソースと操作を指定します。
- 生成されたエージェント定義を確認し、必要なツールのみが含まれていることを確認します。
権限とデータアクセス
コネクターは認可されたDatabricksアカウントの権限を使用します。そのアカウントは必要なカタログ、ウェアハウス、ジョブ、サービングエンドポイント、およびVector Searchリソースに限定してください。
チャットプロンプトやエージェントの指示に外部サービスの認証情報やアクセストークンを含めないでください。
制限事項
- Databricks APIのクォータ、ワークスペースポリシー、計算リソースの可用性がコネクター操作に適用されます。
- SQLステートメントは利用可能なSQLウェアハウスと必要なデータ権限が必要です。
- ジョブ、サービングエンドポイント、Vector Searchの操作には追加のワークスペースエンタイトルメントが必要な場合があります。
トラブルシューティング
| 症状 | 解決策 |
|---|---|
| コネクターが Unauthorized のまま変わらない。 | Workspace URLに末尾のスラッシュがないか、アクセストークンが同じワークスペースのもので有効かつ必要な権限を持っているかを確認し、再接続してください。 |
| ツールが権限エラーを返す。 | 認可されたアカウントが対象リソースと操作にアクセスできるか確認してください。 |
| 必要なツールが利用できない。 | ツールがこのコネクターでサポートされているか、承認されているかを確認し、チャットで再度コネクターを選択してください。 |
| リクエストが断続的に拒否される。 | 外部サービスのステータス、APIクォータ、レート制限、アカウントプランを確認してください。 |