Skip to content

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コネクターを追加する

  1. 左側のナビゲーションメニューで Connectors をクリックします。
  2. Available タブで Databricks を見つけて Add をクリックします。
  3. 分かりやすいコネクター名を入力します。
  4. Confirm をクリックします。EMQXエージェントが認可ダイアログでDatabricks接続フォームを開きます。
  5. 以下の情報を入力します:
    • Workspace URL:末尾のスラッシュなしでDatabricksワークスペースのWebアドレスを入力します。URLはアクセストークンが生成されたワークスペースを特定する必要があります。
    • Access Tokendapiで始まるDatabricksのパーソナルアクセストークンを入力します。トークンはDatabricksのユーザー名をクリックし、Settings -> Developer -> Access tokens -> Generate new token から生成できます。
  6. Connect Account をクリックします。
  7. Composioが接続を確認し、EMQXエージェントに戻るまで待ちます。
  8. 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読み取りモデルサービングエンドポイントの詳細を取得します。
ツールアクセス説明
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インデックスを削除するツールは、リソースや運用履歴を削除する可能性があります。これらのツールを許可する前に対象リソースを必ず確認してください。

チャットでコネクターを使用する

  1. チャット入力欄でコネクターアイコンをクリックします。
  2. 認可済みの Databricks コネクターを選択します。
  3. プロンプトでエージェントが使用する外部リソースと操作を指定します。
  4. 生成されたエージェント定義を確認し、必要なツールのみが含まれていることを確認します。

権限とデータアクセス

コネクターは認可されたDatabricksアカウントの権限を使用します。そのアカウントは必要なカタログ、ウェアハウス、ジョブ、サービングエンドポイント、およびVector Searchリソースに限定してください。

チャットプロンプトやエージェントの指示に外部サービスの認証情報やアクセストークンを含めないでください。

制限事項

  • Databricks APIのクォータ、ワークスペースポリシー、計算リソースの可用性がコネクター操作に適用されます。
  • SQLステートメントは利用可能なSQLウェアハウスと必要なデータ権限が必要です。
  • ジョブ、サービングエンドポイント、Vector Searchの操作には追加のワークスペースエンタイトルメントが必要な場合があります。

トラブルシューティング

症状解決策
コネクターが Unauthorized のまま変わらない。Workspace URLに末尾のスラッシュがないか、アクセストークンが同じワークスペースのもので有効かつ必要な権限を持っているかを確認し、再接続してください。
ツールが権限エラーを返す。認可されたアカウントが対象リソースと操作にアクセスできるか確認してください。
必要なツールが利用できない。ツールがこのコネクターでサポートされているか、承認されているかを確認し、チャットで再度コネクターを選択してください。
リクエストが断続的に拒否される。外部サービスのステータス、APIクォータ、レート制限、アカウントプランを確認してください。

関連リンク