

# AgentCore aproveite o controle de versão e os endpoints
<a name="harness-versioning"></a>

O Amazon Bedrock AgentCore implementa o controle de versão automático para AgentCore chicotes e permite que você gerencie diferentes configurações usando endpoints. O controle de versão do Harness funciona da mesma forma que o controle de [versão do AgentCore Runtime](agent-runtime-versioning.md) - o harness é uma abstração gerenciada do Runtime - mas você o gerencia por meio das APIs do plano de controle do harness.

Cada arnês no Amazon Bedrock AgentCore é automaticamente versionado:
+ Quando você cria um arnês, cria AgentCore automaticamente a versão 1 (V1)
+ Cada atualização do equipamento cria uma nova versão com uma configuração completa e independente
+ As versões são imutáveis depois de criadas
+ Cada versão contém toda a configuração necessária para execução: modelo, prompt do sistema, ferramentas, memória, limites e ambiente

## Como os endpoints fazem referência às versões
<a name="harness-endpoint-versioning"></a>

Os endpoints fornecem uma forma de referenciar versões específicas do seu equipamento:
+ O `DEFAULT` endpoint aponta automaticamente para a versão mais recente do seu arnês
+ Os endpoints podem apontar para versões específicas, permitindo que você mantenha ambientes diferentes (por exemplo, desenvolvimento, preparação, produção)
+ Quando você atualiza um chicote, o `DEFAULT` endpoint é atualizado automaticamente para apontar para a nova versão
+ Os endpoints devem ser atualizados explicitamente para apontar para novas versões

 **Exemplo: atualização de um endpoint para uma nova versão** 

**Example**  

```
import boto3

control_client = boto3.client('bedrock-agentcore-control', region_name='us-west-2')

response = control_client.update_harness_endpoint(
    harnessId='MyHarness-UuFdkQoXSL',
    endpointName='production-endpoint',
    targetVersion='2',
    description='Updated production endpoint'
)

print(response)
```
Ou com a AWS CLI:  

```
aws bedrock-agentcore-control update-harness-endpoint \
  --harness-id "MyHarness-UuFdkQoXSL" \
  --endpoint-name "production-endpoint" \
  --target-version "2" \
  --description "Updated production endpoint"
```

## Cenários de controle de versão
<a name="harness-versioning-scenarios"></a>

A tabela a seguir ilustra como o controle de versão e os endpoints interagem durante o ciclo de vida de um chicote:


| Tipo de alteração | Comportamento de criação de versão | Versão mais recente | Comportamento do endpoint | 
| --- | --- | --- | --- | 
| Criação inicial | Cria a versão 1 (V1) automaticamente | V1 | O DEFAULT aponta para V1 | 
| Mudança de modelo | Cria uma nova versão com a seleção atualizada do modelo | V2 | DEFAULT é atualizado automaticamente para V2 | 
| Crie um endpoint “PROD” com V2 | Nenhuma nova versão criada | V2 | O endpoint PROD aponta para V2 | 
| Atualização de ferramenta ou habilidade | Cria uma nova versão com a configuração atualizada da ferramenta | V3 | Atualizações PADRÃO para V3, PROD permanece na V2 | 
| Atualize “PROD” para V3 | Nenhuma nova versão criada | V3 | Atualizações do PROD para a V3 | 
| Limites ou modificação do ambiente | Cria uma nova versão com parâmetros de execução atualizados | V4 | Atualizações PADRÃO para V4, PROD permanece na V3 | 

## Estados do ciclo de vida do endpoint
<a name="harness-endpoint-lifecycle"></a>

Os endpoints do Harness passam por vários estados durante seu ciclo de vida:

CRIANDO  
Estado inicial quando um endpoint está sendo criado

FALHA NA CRIAÇÃO  
Indica falha na criação devido a permissões, configuração ou outros problemas

PRONTO  
O endpoint está pronto para aceitar solicitações

ATUALIZANDO  
O Endpoint está sendo atualizado para uma nova versão

UPDATE\_FAILED  
Indica falha na operação de atualização

## Criar um endpoint
<a name="harness-creating-endpoints"></a>

Crie um endpoint nomeado para fixar um ambiente a uma versão específica do equipamento. Se você omitir`targetVersion`, o endpoint apontará para a versão mais recente no momento da criação.

**Example**  

```
import boto3

control_client = boto3.client('bedrock-agentcore-control', region_name='us-west-2')

response = control_client.create_harness_endpoint(
    harnessId='MyHarness-UuFdkQoXSL',
    endpointName='production-endpoint',
    targetVersion='2',
    description='Production endpoint pinned to V2'
)

print(response)
```
Ou com a AWS CLI:  

```
aws bedrock-agentcore-control create-harness-endpoint \
  --harness-id "MyHarness-UuFdkQoXSL" \
  --endpoint-name "production-endpoint" \
  --target-version "2" \
  --description "Production endpoint pinned to V2"
```

## Listando versões e endpoints do equipamento
<a name="harness-listing-versions"></a>

Você pode listar todas as versões de um chicote chamando a `ListHarnessVersions` operação. Para listar os endpoints de um chicote, ligue. `ListHarnessEndpoints`

**Example**  

```
import boto3

control_client = boto3.client('bedrock-agentcore-control', region_name='us-west-2')

# List all versions of a harness
versions = control_client.list_harness_versions(
    harnessId='MyHarness-UuFdkQoXSL'
)
for version in versions['harnessVersions']:
    print(version)

# List all endpoints for a harness
endpoints = control_client.list_harness_endpoints(
    harnessId='MyHarness-UuFdkQoXSL'
)
for endpoint in endpoints['endpoints']:
    print(endpoint)
```
Ou com a AWS CLI:  

```
aws bedrock-agentcore-control list-harness-versions \
  --harness-id "MyHarness-UuFdkQoXSL"

aws bedrock-agentcore-control list-harness-endpoints \
  --harness-id "MyHarness-UuFdkQoXSL"
```
Ambas as operações oferecem suporte à paginação por meio de e. `maxResults` `nextToken` Para recuperar a configuração de um único endpoint, chame`GetHarnessEndpoint`; para remover um, chame. `DeleteHarnessEndpoint`

## Tópicos relacionados
<a name="_related_topics"></a>
+  [Conceitos básicos](harness-get-started.md)- crie e invoque seu primeiro arnês
+  [Modelos e instruções](harness-models.md)- configurar agentes, modelos e fornecedores
+  [Controles de observabilidade e custos](harness-operations.md)- observabilidade, controles de custos e tags
+  [AgentCore Controle de versão e endpoints em tempo de execução](agent-runtime-versioning.md)- controle de versão e endpoints para Runtime AgentCore 