Google Vertex AI Agent とリアルタイムの JSON データを CData Connect AI で統合
Vertex AI は、Agent Development Kit(ADK)を使用して AI エージェントを構築するための開発エコシステムを提供します。ADK を使用すると、開発者は推論、アクション実行、構造化されたツールインターフェースを通じた外部システムとの連携が可能なツール拡張エージェントを作成できます。これらのエージェントは ADK Web インターフェースでローカルにテストでき、エンタープライズワークフロー向けの高度なロジックで拡張できます。
Vertex AI ADK を CData Connect AI の組み込み MCP(Model Context Protocol)サーバーと統合することで、エージェントはリアルタイムでJSON servicesをクエリ、分析、操作できるようになります。 この接続により、Google のエージェント構築フレームワークと CData Connect AI のガバナンスされたエンタープライズ接続が橋渡しされ、すべてのリクエストが手動のデータ移動なしに認可されたデータソースに対してセキュアに実行されます。
この記事では、Connect AI で JSON 接続を設定し、必要な認証トークンを生成し、Vertex AI ADK 環境を設定し、エージェントが Connect AI を通じてリアルタイムのJSON servicesと正常に通信できることを確認する手順を説明します。
ステップ1:Vertex AI 用の JSON 接続を設定
Vertex AI から JSON への接続は、CData Connect AI のリモート MCP サーバーを通じて実現できます。Vertex AI からJSON servicesを操作するには、まず CData Connect AI で JSON 接続を作成・設定します。
- Connect AI にログインして「Sources」をクリック、次に「 Add Connection」をクリック
- 接続を追加パネルから「JSON」を選択
-
JSON に接続するために必要な認証プロパティを入力します。
データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。CData 製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。
URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。
- Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。CData 製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
- FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
- Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。
リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。
Amazon S3 内のJSON への接続
URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。
- AWSAccessKey:AWS アクセスキー(username)に設定。
- AWSSecretKey:AWS シークレットキーに設定。
Box 内のJSON への接続
URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
Dropbox 内のJSON への接続
URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;
SharePoint Online SOAP 内のJSON への接続
URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
SharePoint Online REST 内のJSON への接続
URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
FTP 内のJSON への接続
URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
Google Drive 内のJSON への接続
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
- 「Save & Test」をクリック
- 「Permissions」タブに移動し、ユーザーベースの権限を更新します
パーソナルアクセストークンの追加
パーソナルアクセストークン(PAT)は、Vertex AI から Connect AI への接続を認証するために使用されます。アクセスを細かく管理するため、統合ごとに個別の PAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして設定を開きます
- 設定ページで「Access Tokens」セクションに移動し、「 Create PAT」をクリックします
- PAT にわかりやすい名前を付けて「Create」をクリックします
- トークンが表示されたらコピーして安全に保管します。再度表示されることはありません
JSON 接続が設定され PAT が生成されたので、Vertex AI は Connect AI を通じてJSON servicesに接続できるようになりました。
ステップ2:必要な依存関係をインストール
Vertex AI ADK が Gemini モデルを実行し、エージェント環境を構築し、Google Cloud プロジェクト内のサポートサービスにアクセスできるように、必要な Google Cloud API を有効にします。これらの API は、開発と実行時に ADK が依存するバックエンド機能を提供します。
- Google Cloud Console にアクセスします
- ページ上部の「Project Picker」をクリックし、「New Project」を選択します
- プロジェクトを作成し、「Project ID」をメモします。この ID は後で環境設定で使用します
- 左側のナビゲーションメニューから「APIs & Services」を開き、「Enabled APIs & Services」を選択します
- 「 Enable Apis and services」をクリックします
- 以下の API を有効にします:
- Vertex AI API
- Cloud Build API
- Artifact Registry API
- Service Networking API
- Cloud Logging API
これらのサービスを有効にすると、Google Cloud プロジェクトで Vertex AI ADK の開発とローカルツール実行の準備が整います。
Vertex AI ADK プロジェクトフォルダの準備
プロジェクトディレクトリを作成し、Python 環境をセットアップします。このステップにより、ADK が正しくインストールされ、依存関係の競合なしにエージェントをロードできるクリーンなワークスペースが準備されます。
- Google Cloud Console を開き、Cloud Shell を選択します。プロジェクトピッカーから作成したプロジェクトが選択されていることを確認してください。
- ADK プロジェクトディレクトリを作成します:
- Python 仮想環境を作成してアクティベートします:
- 必要な ADK および MCP パッケージをインストールします:
mkdir -p ~/adk_agents/cdata_mcp_agent cd ~/adk_agents/cdata_mcp_agent
python3 -m venv .venv source .venv/bin/activate
python -m pip install --upgrade pip python -m pip install google-adk python -m pip install mcp python -m pip install --upgrade "google-cloud-aiplatform[agent_engines]"
ステップ3:ADK エージェントファイルを作成
ADK がエージェントを認識できるようにエージェントモジュールを定義します。この構造により、Vertex AI が MCP 設定をロードし、Connect AI が公開するツールを登録できます。
- agent.py ファイルを作成し、以下のコードを貼り付けます
- もう1つのファイル __int__.py を作成し、以下のコードを貼り付けます
import os
import base64
import logging
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
# ---------- Logging ----------
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# ---------- CData MCP config ----------
CDATA_MCP_URL = os.environ.get("CDATA_MCP_URL", "https://mcp.cloud.cdata.com/mcp")
CDATA_USER_ID = os.environ.get("CDATA_USER_ID")
CDATA_PAT = os.environ.get("CDATA_PAT")
tools = []
if not (CDATA_USER_ID and CDATA_PAT):
logger.warning(
"CData MCP credentials not set (CDATA_USER_ID or CDATA_PAT missing); "
"starting agent WITHOUT MCP tools."
)
else:
# Basic auth header: base64("user:pat")
basic_auth_bytes = f"{CDATA_USER_ID}:{CDATA_PAT}".encode("utf-8")
basic_auth_header = base64.b64encode(basic_auth_bytes).decode("utf-8")
try:
logger.info("Initializing CData MCPToolset against %s", CDATA_MCP_URL)
tools.append(
MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url=CDATA_MCP_URL,
headers={
"Authorization": f"Basic {basic_auth_header}",
# ADK handles content-type etc. internally;
# we just pass auth headers.
},
),
)
)
logger.info("CData MCPToolset initialized successfully.")
except Exception as e:
logger.exception("Failed to initialize CData MCPToolset")
# ---------- Root agent ----------
root_agent = LlmAgent(
model="gemini-2.0-flash",
name="cdata_mcp_agent",
instruction=(
"You are a data assistant. Use the CData MCP tools (if available) to "
"list connections, list catalogs/schemas/tables, and run SQL-style queries."
),
tools=tools,
)
from .agent import root_agent __all__ = ["root_agent"]
環境変数のエクスポート
Connect AI に認証するために必要な環境変数をエクスポートします。これらの値により、エージェントは MCP ツールセットを初期化し、Connect AI と通信できます。その前に、ADK が Gemini モデルに認証できるように Google API キーを取得します。このキーにより、エージェントは Vertex AI ADK 環境内で LLM 推論を実行し、ツールコールを正しくルーティングできます。
- Google AI Studio API Key ページにアクセスします
- 「Create API Key」をクリックします。API キーに名前を付け、プロジェクトがない場合は選択または作成します
- 「Create a key」をクリックし、API キーをコピーします
- Google Cloud Shell ページに戻り、環境変数のエクスポートを実行します。「your_cdata_email」、「your_pat」、「your-project-id」、「your_google_api_key」を実際の値に置き換えてください
export CDATA_MCP_URL="https://mcp.cloud.cdata.com/mcp" export CDATA_USER_ID="your_cdata_email" export CDATA_PAT="your_pat" export GOOGLE_API_KEY="your_google_api_key" export VERTEXAI_PROJECT="your-project-id" export VERTEXAI_LOCATION="us-central1"
ステップ4:ADK Web インターフェースを起動
ADK Web インターフェースを起動してエージェントをロードします。インターフェースはランタイムを初期化し、MCP 対応エージェントをインタラクティブテスト用に利用可能にします。
- 親フォルダに移動します:
- ADK Web を起動します:
cd ~/adk_agents
adk web .
ステップ5:エージェントを選択して MCP 接続をテスト
ADK Web インターフェースからエージェントを選択します。ADK は MCP ツールをロードし、リアルタイムの MCP クエリを実行できるように環境を準備します。
- ブラウザタブから ADK Web UI を開きます
- エージェントのドロップダウンから「cdata_mcp_agent」を選択します
- チャットパネルに「list catalogs」と入力します。ADK は Connect AI 接続のリアルタイムリストを返します
これで、Vertex AI ADK エージェントは CData Connect AI MCP サーバーと通信し、リモート MCP ツールを通じてリアルタイムのJSON servicesメタデータを取得できるようになりました。
CData Connect AI を入手
数百種類の SaaS、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスをクラウドアプリケーションから直接取得するには、CData Connect AI を今すぐお試しください!