View a markdown version of this page

Atualizar um pacote de configuração - Amazon Bedrock AgentCore

Atualizar um pacote de configuração

Atualize um pacote de configuração para criar uma nova versão imutável com a configuração alterada. Cada atualização produz um novo ID de versão; as versões existentes nunca são modificadas. As versões formam uma cadeia viaparentVersionIds, semelhante aos commits do git.

Exemplos de código

exemplo
AgentCore CLI

Edite a configuração agentcore.json e reimplante. A CLI detecta o pacote existente e cria automaticamente uma nova versão com a correta: 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)

Atualização alterando o ID do modelo:

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

Atualize com um aviso de sistema recomendado a partir de um resultado de recomendação:

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

Parâmetros de solicitação

Parâmetro Tipo Obrigatório Descrição

bundleId

String

Sim

O ID do pacote de configuração a ser atualizado. Passado como parâmetro de caminho.

bundleName

String

Não

Nome atualizado do pacote.

description

String

Não

Descrição atualizada. Máximo de 500 caracteres.

components

Mapa

Não

Configurações de componentes atualizadas. Cria uma nova versão com esses componentes.

parentVersionIds

Lista de strings

Não

IDs da versão principal para rastreamento de linhagem. Obrigatório ao atualizarcomponents. Compromissos regulares: mãe solteira. Mesclar confirmações: dois pais (ramificação de destino mais recente, ramificação de origem mais recente). Se a ramificação já existir, a primeira ramificação deverá ser a versão mais recente dessa ramificação.

branchName

String

Não

Nome da filial desta versão. Se não for especificado, herda a ramificação do pai ou assume como padrão. mainline

commitMessage

String

Não

Confirme a mensagem descrevendo as alterações. Máximo de 500 caracteres.

createdBy

Objeto

Não

Fonte que criou esta versão. Contém name (obrigatório) e arn (opcional). Use isso para rastrear se uma versão foi criada por um usuário, trabalho de recomendação ou outra automação.

clientToken

String

Não

Símbolo de idempotência.

Resposta

Campo Tipo Description

bundleArn

String

ARN do pacote de configuração.

bundleId

String

ID do pacote de configuração.

versionId

String

UUID da nova versão criada por essa atualização.

updatedAt

Timestamp

Quando a atualização foi aplicada.

Ramificação e fusões

Os pacotes de configuração oferecem suporte à ramificação semelhante ao git:

  • Compromissos lineares. Omita parentVersionIds ou passe uma mãe solteira. A nova versão estende a linhagem do ramo.

  • Nova filial. Especifique um branchName que ainda não existe e um parentVersionIds apontando para a versão da qual você deseja ramificar.

  • Mesclar confirmações. Passo doisparentVersionIds: a primeira é a versão mais recente na ramificação de destino, a segunda é a mais recente na ramificação de origem. Isso cria uma confirmação de mesclagem na ramificação de destino.

Erros

Erro Status HTTP Description

ValidationException

400

Parâmetros de solicitação inválidos. Verifique as restrições de campo.

ResourceNotFoundException

404

O especificado bundleId não existe.

ConflictException

409

Conflito de versão. A versão principal especificada não é a mais recente na ramificação. Obtenha a versão mais recente e tente novamente.

AccessDeniedException

403

Permissões insuficientes. Verifique se as políticas do IAM incluembedrock-agentcore:UpdateConfigurationBundle.

ThrottlingException

429

Taxa de solicitações excedida. Novas tentativas com recuo exponencial.

InternalServerException

500

Service-side erro. Repetir a solicitação .