View a markdown version of this page

Perbarui bundel konfigurasi - Batuan Dasar Amazon AgentCore

Perbarui bundel konfigurasi

Perbarui bundel konfigurasi untuk membuat versi baru yang tidak dapat diubah dengan konfigurasi yang diubah. Setiap pembaruan menghasilkan ID versi baru; versi yang ada tidak pernah dimodifikasi. Versi membentuk rantai viaparentVersionIds, mirip dengan git commit.

Sampel Kode

contoh
AgentCore CLI

Edit konfigurasi agentcore.json dan gunakan kembali. CLI mendeteksi bundel yang ada dan membuat versi baru dengan benar secara otomatis: 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)

Perbarui mengubah ID model:

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']}")

Perbarui dengan prompt sistem yang direkomendasikan dari hasil rekomendasi:

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']}")

Permintaan parameter

Parameter Tipe Diperlukan Deskripsi

bundleId

Tali

Ya

ID bundel konfigurasi yang akan diperbarui. Lulus sebagai parameter jalur.

bundleName

String

Tidak

Nama yang diperbarui untuk bundel.

description

String

Tidak

Deskripsi yang diperbarui. Maksimal 500 karakter.

components

Peta

Tidak

Konfigurasi komponen yang diperbarui. Membuat versi baru dengan komponen-komponen ini.

parentVersionIds

Daftar string

Tidak

ID versi induk untuk pelacakan garis keturunan. Diperlukan saat memperbaruicomponents. Komit reguler: orang tua tunggal. Komit gabungan: dua orang tua (cabang target terbaru, cabang sumber terbaru). Jika cabang sudah ada, induk pertama harus versi terbaru di cabang itu.

branchName

String

Tidak

Nama cabang untuk versi ini. Jika tidak ditentukan, mewarisi cabang induk atau default ke. mainline

commitMessage

String

Tidak

Pesan komit yang menjelaskan perubahan. Maksimal 500 karakter.

createdBy

Objek

Tidak

Sumber yang membuat versi ini. Berisi name (wajib) dan arn (opsional). Gunakan ini untuk melacak apakah versi dibuat oleh pengguna, pekerjaan rekomendasi, atau otomatisasi lainnya.

clientToken

String

Tidak

Token idempotensi.

Respons

Bidang Tipe Deskripsi

bundleArn

String

ARN dari bundel konfigurasi.

bundleId

String

ID dari bundel konfigurasi.

versionId

String

UUID dari versi baru yang dibuat oleh pembaruan ini.

updatedAt

Stempel waktu

Saat pembaruan diterapkan.

Percabangan dan penggabungan

Bundel konfigurasi mendukung percabangan seperti git:

  • Komit linier. Hilangkan parentVersionIds atau lewati satu orang tua. Versi baru memperluas garis keturunan cabang.

  • Cabang baru. Tentukan branchName yang belum ada dan parentVersionIds menunjuk ke versi yang ingin Anda cabang.

  • Gabungkan komit. Lulus duaparentVersionIds: yang pertama adalah versi terbaru di cabang target, yang kedua adalah yang terbaru di cabang sumber. Ini membuat komit gabungan pada cabang target.

Kesalahan

Kesalahan Status HTTP Deskripsi

ValidationException

400

Parameter permintaan tidak valid. Periksa kendala bidang.

ResourceNotFoundException

404

Yang ditentukan bundleId tidak ada.

ConflictException

409

Konflik versi. Versi induk yang ditentukan bukan yang terbaru di cabang. Ambil versi terbaru dan coba lagi.

AccessDeniedException

403

Izin tidak mencukupi. Verifikasi kebijakan IAM termasukbedrock-agentcore:UpdateConfigurationBundle.

ThrottlingException

429

Tingkat permintaan terlampaui. Coba lagi dengan backoff eksponensial.

InternalServerException

500

Service-side kesalahan. Coba lagi permintaannya.