View a markdown version of this page

設定バンドルを更新する - Amazon Bedrock AgentCore

設定バンドルを更新する

設定バンドルを更新して、設定を変更した新しいイミュータブルバージョンを作成します。更新ごとに新しいバージョン ID が生成されます。既存のバージョンは変更されません。バージョンは、git コミットと同様にparentVersionIds、 を介してチェーンを形成します。

コードサンプル

AgentCore CLI

で設定を編集agentcore.jsonし、再デプロイします。CLI は既存のバンドルを検出し、正しい を使用して新しいバージョンparentVersionIdsを自動的に作成します。

# Edit the bundle configuration in agentcore.json (change model_id, system prompt, etc.) # Then redeploy to create a new version: agentcore deploy # After deploying, confirm a new immutable version was created: agentcore cb versions --name MyBundle # Inspect what changed between two versions (get IDs from `cb versions`): agentcore cb diff --name MyBundle --from <v1> --to <v2>
AWS SDK (boto3)

モデル ID の変更を更新します。

import boto3 import uuid client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") RUNTIME_ARN = "arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/MyAgent-abc123" response = client.update_configuration_bundle( bundleId="myAgentConfig-a1b2c3d4e5", components={ RUNTIME_ARN: { "configuration": { "system_prompt": "You are a helpful customer support assistant.", "model_id": "us.anthropic.claude-sonnet-4-20250514-v1:0", "temperature": 0.7, } } }, parentVersionIds=["12345678-1234-1234-1234-123456789012"], commitMessage="Switch to Claude Sonnet 4", clientToken=str(uuid.uuid4()), ) print(f"New version ID: {response['versionId']}")

レコメンデーション結果から推奨されるシステムプロンプトで を更新します。

import boto3 import uuid cp_client = boto3.client("bedrock-agentcore-control", region_name="us-west-2") dp_client = boto3.client("bedrock-agentcore", region_name="us-west-2") RUNTIME_ARN = "arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/MyAgent-abc123" # Get the recommendation result recommendation = dp_client.get_recommendation(recommendationId="myRec-a1b2c3d4e5") recommended_prompt = recommendation["result"]["systemPromptRecommendationResult"]["recommendedSystemPrompt"] # Update the bundle with the recommended prompt response = cp_client.update_configuration_bundle( bundleId="myAgentConfig-a1b2c3d4e5", components={ RUNTIME_ARN: { "configuration": { "system_prompt": recommended_prompt, "model_id": "global.anthropic.claude-sonnet-4-5-20250929-v1:0", "temperature": 0.7, } } }, parentVersionIds=["12345678-1234-1234-1234-123456789012"], commitMessage="Apply recommended system prompt", createdBy={"name": "optimization-job", "arn": recommendation["recommendationArn"]}, clientToken=str(uuid.uuid4()), ) print(f"New version ID: {response['versionId']}")

リクエストパラメータ

パラメータ タイプ 必須 説明

bundleId

文字列

はい

更新する設定バンドルの ID。パスパラメータとして渡されます。

bundleName

String

いいえ

バンドルの名前を更新しました。

description

String

いいえ

説明を更新しました。最大 500 文字。

components

マッピング

いいえ

コンポーネント設定を更新しました。これらのコンポーネントを使用して新しいバージョンを作成します。

parentVersionIds

文字列のリスト

いいえ

系統追跡用の親バージョン IDs。を更新するときに必要ですcomponents通常のコミット: 単一親。マージコミット: 2 つの親 (ターゲットブランチ最新、ソースブランチ最新)。ブランチがすでに存在する場合、最初の親はそのブランチの最新バージョンである必要があります。

branchName

String

いいえ

このバージョンのブランチ名。指定しない場合、 は親のブランチを継承するか、デフォルトで になりますmainline

commitMessage

String

いいえ

変更を説明するメッセージをコミットします。最大 500 文字。

createdBy

オブジェクト

いいえ

このバージョンを作成したソース。(name必須) と arn (オプション) が含まれます。これを使用して、バージョンがユーザー、レコメンデーションジョブ、またはその他のオートメーションによって作成されたかどうかを追跡します。

clientToken

String

いいえ

べき等性トークン。

[応答]

フィールド タイプ 説明

bundleArn

文字列

設定バンドルの ARN。

bundleId

String

設定バンドルの ID。

versionId

String

この更新によって作成された新しいバージョンの UUID。

updatedAt

タイムスタンプ

更新が適用された日時。

分岐とマージ

設定バンドルは git のような分岐をサポートしています。

  • 線形コミット。1 つの親を省略parentVersionIdsまたは渡します。新しいバージョンはブランチリネージュを拡張します。

  • 新しいブランチ。branchName まだ存在しない と、ブランチ元のバージョンparentVersionIdsを指す を指定します。

  • コミットをマージします。2 つの を渡しますparentVersionIds。1 つ目はターゲットブランチの最新バージョン、2 つ目はソースブランチの最新バージョンです。これにより、ターゲットブランチにマージコミットが作成されます。

エラー

エラー HTTP ステータス 説明

ValidationException

400

リクエストパラメータが無効です。フィールドの制約を確認します。

ResourceNotFoundException

404

指定された bundleIdは存在しません。

ConflictException

409

バージョンの競合。指定された親バージョンは、ブランチの最新のバージョンではありません。最新バージョンを取得し、再試行します。

AccessDeniedException

403

アクセス許可が不十分です。IAM ポリシーに が含まれていることを確認しますbedrock-agentcore:UpdateConfigurationBundle

ThrottlingException

429

リクエストレートを超えました。エクスポネンシャルバックオフを使用して再試行してください。

InternalServerException

500

サービス側のエラー。リクエストを再試行します。