@shinyaz

AgentCore の boto3 クライアントはコントロールプレーンとデータプレーンで分かれている

約1分

AgentCore の Code Interpreter を boto3 で操作しようとして、create_code_interpreterbedrock-agentcore クライアントで呼んだら AttributeError が返ってきた。

client = boto3.client("bedrock-agentcore", region_name="us-east-1")
client.create_code_interpreter(...)  # ← これが失敗する
AttributeError: 'BedrockAgentCore' object has no attribute 'create_code_interpreter'.
Did you mean: 'invoke_code_interpreter'?

原因は、AgentCore がコントロールプレーンデータプレーンで別のクライアントを使う設計になっていること。

# コントロールプレーン: リソースの CRUD
control = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
control.create_code_interpreter(...)   # ✓
control.delete_code_interpreter(...)   # ✓
control.create_agent_runtime(...)      # ✓
 
# データプレーン: 実行時の操作
data = boto3.client("bedrock-agentcore", region_name="us-east-1")
data.invoke_code_interpreter(...)          # ✓
data.start_code_interpreter_session(...)   # ✓
data.invoke_agent_runtime(...)             # ✓

この分離は Code Interpreter だけでなく Agent Runtime にも共通する。エラーメッセージの Did you mean が親切にデータプレーン側のメソッドを示してくれるので、「そっちじゃない」と気づくヒントにはなる。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援を行っています。クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。