Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Inizia a usare Amazon Bedrock Managed Agents (con OpenAI) su Runtime AgentCore
Nota
Amazon Bedrock Managed Agents (con OpenAI) è disponibile in anteprima. Le funzionalità e le API possono cambiare prima della disponibilità generale.
Amazon Bedrock Managed Agents esegue il cablaggio OpenAI Codex. AWS L'harness fa da anello tra il modello e gli strumenti, mantiene la sessione e compatta il contesto man mano che la conversazione cresce. Quando l'agente deve eseguire un comando o lavorare con i file, Bedrock Managed Agents invia il lavoro a un ambiente. Sei tu a decidere dove eseguire quell'ambiente.
È possibile eseguire l'exec-server Codex sul proprio computer per lo sviluppo locale. Per altri carichi di lavoro, Bedrock Managed Agents richiama un Runtime nel tuo account. AgentCore Il Runtime assegna a ogni sessione la propria MicroVM. La sessione viene eseguita con un ruolo di esecuzione controllato dall'utente e il Runtime può connettersi al VPC in modo che l'agente possa accedere a risorse private. Le chiamate al modello rimangono in Bedrock Managed Agents, quindi il contenitore esegue solo i comandi inviati dall'agente.
In questo tutorial, svolgi le seguenti attività:
-
Crea e distribuisci il Runtime con la AgentCore CLI.
-
Avvia una sessione con l'SDK OpenAI. L'agente utilizza un'abilità di esempio nel tuo Runtime.
-
(Facoltativo) Aggiungi le tue abilità.
Le fasi da 1 a 4 richiedono circa 15 minuti.
Le AWS risorse che crei in questo tutorial potrebbero comportare addebiti sul tuo AWS account. Queste risorse includono il Runtime, le build di AWS CodeBuild immagini e le chiamate al modello Bedrock Managed Agents. Per ulteriori informazioni, consulta Prezzi di AgentCore
Prerequisiti
-
Node.js 20 o più tardi. La AgentCore CLI è distribuita come pacchetto npm. Verifica con.
node --version -
uv. Il client di esempio usa uv
per installare le sue dipendenze in Python. -
Un AWS account con credenziali configurate. Per creare un account, vedi Guida introduttiva a un AWS account. Per configurare le credenziali, consulta Configurazione della CLI AWS.
-
Autorizzazioni IAM. La tua identità necessita delle autorizzazioni per effettuare chiamate AgentCore API e assumere i ruoli di bootstrap CDK utilizzati durante la distribuzione. Vedi Utilizzare la AgentCore CLI. Il client di esempio necessita anche delle autorizzazioni IAM. Consulta Il ruolo della sessione.
-
Accesso al modello. Il tuo account deve accedere al modello
openai.gpt-5.6-lunaBedrock Managed Agents.
La CLI crea l'immagine del contenitore AWS CodeBuild nel tuo account.
Fase 1: Creare il progetto
Installa la AgentCore CLI e imposta le tue credenziali e la regione:
npm install -g @aws/agentcore agentcore --version export AWS_PROFILE=your-profile export AWS_REGION=us-east-1
Crea il progetto con il framework. BedrockManagedAgents Puoi anche correre agentcore create senza bandiere. Seleziona Agente, quindi seleziona Bedrock Managed Agents come framework.
agentcore create --name MyManagedAgent --framework BedrockManagedAgents cd MyManagedAgent
Il progetto include la configurazione Runtime agentcore/agentcore.json e l'origine del contenitore. app/MyManagedAgent/ Il contenitore viene eseguitocodex exec-server, si connette ai Bedrock Managed Agents ed esegue i comandi dell'agente.
Il progetto configura il Runtime con queste impostazioni predefinite:
-
Un timeout di inattività di 30 minuti e una durata massima di 8 ore. Vedi Configurare le impostazioni del ciclo di vita.
-
Un ruolo di esecuzione con le autorizzazioni abilitate.
policies/bma-acr-policy.json
MyManagedAgent/ ├── agentcore/ │ ├── agentcore.json │ └── cdk/ └── app/MyManagedAgent/ ├── Dockerfile ├── lifecycle/server.py ├── otel/collector.yaml ├── plugins/acr-report/ ├── policies/ │ ├── bma-acr-policy.json │ ├── bma-session-trust.json │ └── bma-session-policy.json ├── pyproject.toml ├── client.py └── README.md
File chiave:
-
lifecycle/server.py- Il server del ciclo di vita. Bedrock Managed Agents lo chiama per iniziare la sessione dicodex exec-serverRuntime. Non modificate questo file. -
Dockerfile- Installa Codex, l' CloudWatch agente e Python, e copialifecycle/,otel/e su.plugins//opt/bma -
otel/collector.yaml- Invia gli span e i log dell'exec-server a. CloudWatch -
plugins/acr-report/- Un plugin di esempio con una sola abilità. L'abilità vieneacr-report.txtsalvata nell'area di lavoro. -
policies/bma-acr-policy.json- La politica del ruolo di esecuzione di Runtime. Consentebedrock-mantle:RegisterEnvironmentebedrock-mantle:ConnectEnvironment. Per limitarlo a un progetto, passaResourceaarn:aws:bedrock-mantle:<region>:<account-id>:project/<project-id>. -
pyproject.toml- Le dipendenze di Python. Ildevgruppo è solo perclient.pypersone. -
policies/bma-session-trust.jsonepolicies/bma-session-policy.json- La politica di attendibilità e le autorizzazioni del ruolo della sessione. Consulta Il ruolo della sessione. -
client.py- Un client di esempio che avvia una sessione. Lo esegui nel passaggio 3.
Aggiungi le opzioni di rete a: agentcore create
agentcore create --name MyManagedAgent --framework BedrockManagedAgents \ --network-mode VPC --vpc-id <vpc-id> --subnets <subnet-ids> \ --security-groups <security-group-ids>
Il VPC deve disporre di un percorso verso l'endpoint Bedrock Managed Agents, poiché il server exec-server si connette ad esso. La build dell'immagine scarica Codex e Python, quindi necessita anche di un percorso verso Internet. Vedi Configure AgentCore for VPC.
Lo stesso progetto viene eseguito sul tipo di calcolo Instances. Aggiungi un provider di capacità al progetto, quindi aggiungi l'agente con il provider di capacità:
agentcore create --name MyManagedAgent --no-agent cd MyManagedAgent agentcore add capacity-provider --name MyCapacityProvider \ --subnets <subnet-ids> --security-groups <security-group-ids> \ --os LINUX_ARM64 --instance-types c7g.large agentcore add agent --name MyManagedAgent --framework BedrockManagedAgents \ --capacity-provider MyCapacityProvider
Quindi continua conFase 2: Implementazione. agentcore deploycrea anche il fornitore di capacità e il suo ruolo di operatore.
-
Usa
LINUX_ARM64i tipi di istanza Graviton, perché la build dell'immagine crea un'immagine ARM64. -
Il provider di capacità fornisce la rete. Le sottoreti devono avere un percorso verso l'endpoint Bedrock Managed Agents.
Per collegare un provider di capacità che non fa parte del progetto, assegna il relativo ARN a. agentcore create --framework BedrockManagedAgents --capacity-provider <capacity-provider-arn> Vedi Runtime Instances e provider di capacità.
Fase 2: Implementazione
agentcore deploy agentcore status
La CLI crea l'immagine con AWS CodeBuild il tuo account e distribuisce il Runtime e il suo ruolo di esecuzione. Bedrock Managed Agents richiama il Runtime per te.
Salva il Runtime ARN dall'output di: agentcore status
arn:aws:bedrock-agentcore:us-east-1:<account-id>:runtime/<runtime-id>
Fase 3: Eseguire una sessione
Bedrock Managed Agents utilizza un ruolo di sessione per richiamare il modello e richiamare il Runtime. Il ruolo di sessione non è il ruolo di esecuzione di Runtime. Quando eseguiclient.py, crea il ruolo di sessione nel tuo account. agentcore deploynon crea il ruolo di sessione e agentcore remove non lo elimina. Consulta Il ruolo della sessione.
Esegui il client dalla directory dell'agente:
cd app/MyManagedAgent uv run client.py --runtime <runtime-arn>
Il client crea una sessione e stampa l'ID della sessione, ogni comando con il relativo output e la risposta dell'agente. Per impostazione predefinita, l'agente utilizza l'acr-reportabilità per salvare acr-report.txt nell'area di lavoro.
La sezione successiva spiega come il client gestisce il ruolo di sessione e quali autorizzazioni IAM sono necessarie per eseguire il client.
Il ruolo di sessione non è il ruolo di esecuzione di Runtime. agentcore deploycrea il ruolo di esecuzione conpolicies/bma-acr-policy.json. Il client assegna il ruolo di sessione ai Bedrock Managed Agents sul role_arn campo quando crea una sessione.
Quando si avvia una nuova sessione e non si dà nulla--role-arn, il client esegue questi passaggi:
-
Se il ruolo
BmaSessionRole-<region>non esiste, il client lo crea. -
Il cliente confronta la politica di fiducia e la politica in linea
BmaSessiondel ruolo conpolicies/bma-session-trust.jsone.policies/bma-session-policy.jsonSe una politica non è la stessa, il client scrive il file nel ruolo. I file sono limitati all'account e alla regione del runtime. -
Se il client ha cambiato ruolo, attende 15 secondi. IAM ha bisogno di questo tempo prima che i Bedrock Managed Agents possano utilizzare la modifica.
Per modificare il ruolo, modifica i file. Il client non rimuove altre politiche che qualcuno aggiunge al ruolo. Non controlla il ruolo quando date --session-id e non cambia il ruolo con cui date--role-arn.
Per la produzione, assegnate al client un ruolo per un Runtime e un gateway con--role-arn. Per creare il ruolo, usa i due file inpolicies/. Inserisci la partizione, la regione e l'ID dell'account e modifica i valori
in runtime/ e gateway/* in Runtime ID e Gateway ID. Non modificate i file del progetto, perché tutti i progetti della regione sono condivisiBmaSessionRole-<region>.
L'identità che gestisce il client necessita delle autorizzazioni del client Bedrock Managed Agents e del iam:PassRole ruolo della sessione. bedrock-mantle:CallWithBearerToken Per consentire al cliente di creare e riparare il ruolo, fornisci ancheiam:GetRole, iam:CreateRole iam:UpdateAssumeRolePolicyiam:GetRolePolicy, e iam:PutRolePolicy così via. arn:aws:iam::<account-id>:role/BmaSessionRole-* Se dai--role-arn, il cliente non ha bisogno di queste cinque autorizzazioni.
Per la policy di fiducia, le autorizzazioni del ruolo di sessione e le autorizzazioni del client, consulta Security and IAM roles nella Amazon Bedrock User Guide.
Il client utilizza le client.beta.agents risorse del openai pacchetto. Bedrock Managed Agents esegue il loop degli agenti.
Quando il client crea la sessione, imposta questi valori inenvironment:
-
type-aws_bedrock_agentcore, che indica a Bedrock Managed Agents di utilizzare un AgentCore Runtime. -
runtime_arn- Il tuo Runtime. La sessione viene eseguita nella regione del runtime. -
workspace_directory- La directory in cui l'agente esegue i comandi. Il client utilizza/home/app/workspace. Il server del ciclo di vita crea la directory. -
runtime_qualifier- L'endpoint del Runtime. Il client utilizzaDEFAULT. -
capability_directories- Le directory in cui Bedrock Managed Agents trova le competenze. Il client utilizza./opt/bma/plugins
Il client assume anche role_arn extra_body il ruolo di sessione. Il openai pacchetto non ha un parametro per questo campo.
L'provide_tokenhelper utilizza AWS le tue credenziali per ottenere un token Amazon Bedrock bearer di breve durata per ogni richiesta.
Se aggiungi un gateway al progetto, fornisci il relativo ARN dall'output di agentcore deploy with. --gateway Usa il flag solo per una nuova sessione. Il client aggiunge il gateway come mcp strumento con l'ARN in ingresso. connector_id Bedrock Managed Agents chiama il gateway con il ruolo di sessione. Il gateway deve supportare la versione MCP. 2025-03-26 In caso contrario, l'agente non dispone di strumenti di gateway e Bedrock Managed Agents non mostra alcun errore.
"""Send an input to a Bedrock Managed Agents session that uses this project's ACR.""" import argparse import json import time from pathlib import Path from typing import Any import boto3 from aws_bedrock_token_generator import provide_token from botocore.exceptions import ClientError from openai import NotFoundError, OpenAI BMA_MODEL_ID = "openai.gpt-5.6-luna" # The agent runs its commands in this directory. The lifecycle server creates it. WORKSPACE_DIRECTORY = "/home/app/workspace" # Plugins and skills that the agent can use. The image has the acr-report plugin # at this path. Add the path of an S3 Files mount to use the skills in a bucket. CAPABILITY_DIRECTORIES = ["/opt/bma/plugins"] TURN_END = ("completed", "failed", "cancelled") TOOL_CALLS = ("mcp_call", "function_call", "web_search_call") POLICIES = Path(__file__).parent / "policies" SESSION_ROLE = "BmaSessionRole-{region}" SESSION_POLICY = "BmaSession" def show(data: dict[str, Any]) -> None: """Prints the session ID, the commands, the tool calls, and the answer.""" kind = data["type"].removeprefix("agent.session.") item = data.get("item") or {} if kind == "created": print(f"Session {data['session']['id']}") elif kind == "turn.output_text.delta": print(data["delta"], end="", flush=True) elif kind == "turn.item.done" and item.get("type") == "command_execution": print(f"\n$ {item['command']}\n{item.get('output') or ''}".rstrip()) elif kind == "turn.item.done" and item.get("type") in TOOL_CALLS: print(f"\nTool {item.get('name') or item['type']} {item.get('status')}") elif kind == "error" or kind.split(".")[-1] in TURN_END: source = data.get("turn") or data.get("environment") or data.get("session") print(f"\n{kind} {(source or data).get('error') or ''}".rstrip()) def load_policy(name: str, partition: str, region: str, account: str) -> str: """Reads a policy file and puts in the partition, the Region, and the account.""" text = (POLICIES / name).read_text() for key, value in (("Partition", partition), ("Region", region), ("AccountId", account)): text = text.replace("${AWS::" + key + "}", value) return text def session_role(runtime_arn: str) -> str: """Creates or repairs the session role, and returns its ARN. If the trust policy or the policy of the role is not the same as the file in `policies/`, the client writes the file to the role. """ _, partition, _, region, account = runtime_arn.split(":")[:5] name = SESSION_ROLE.format(region=region) trust = load_policy("bma-session-trust.json", partition, region, account) policy = load_policy("bma-session-policy.json", partition, region, account) iam = boto3.client("iam") changed = False try: role = iam.get_role(RoleName=name)["Role"] except iam.exceptions.NoSuchEntityException: role = iam.create_role(RoleName=name, AssumeRolePolicyDocument=trust)["Role"] print(f"Created the session role {name}") changed = True else: if role["AssumeRolePolicyDocument"] != json.loads(trust): iam.update_assume_role_policy(RoleName=name, PolicyDocument=trust) print(f"Updated the trust policy of {name}") changed = True try: current = iam.get_role_policy(RoleName=name, PolicyName=SESSION_POLICY)["PolicyDocument"] except iam.exceptions.NoSuchEntityException: current = None if current != json.loads(policy): iam.put_role_policy(RoleName=name, PolicyName=SESSION_POLICY, PolicyDocument=policy) if not changed: print(f"Updated the policy of {name}") changed = True if changed: # IAM needs some seconds before Bedrock Managed Agents can use a new or changed role. time.sleep(15) return role["Arn"] def main() -> None: parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--runtime", required=True, help="The ACR ARN.") parser.add_argument( "--session-id", help="The BMA session ID. If it does not exist, the client creates a session.", ) parser.add_argument( "--input", default="Use the acr-report skill to save an ACR report in the workspace.", ) parser.add_argument( "--gateway", help="The Gateway ARN from the output of `agentcore deploy`.", ) parser.add_argument( "--role-arn", help="The session role that BMA assumes. If you do not give it, the client creates a role.", ) parser.add_argument("--delete", action="store_true", help="Delete the session.") parser.add_argument("--raw", action="store_true", help="Print events as JSON.") args = parser.parse_args() # BMA must run in the Region of the ACR. region = args.runtime.split(":")[3] with OpenAI( api_key=lambda: provide_token(region=region), base_url=f"https://bedrock-mantle.{region}.api.aws/openai/v1", ) as client: sessions = client.beta.agents.sessions session_id = args.session_id if session_id: try: session = sessions.retrieve(session_id).model_dump(warnings=False) except NotFoundError: print(f"Session {session_id} does not exist.") session_id = None else: if session["environment"].get("runtime_arn") != args.runtime: raise ValueError(f"Session {session_id} uses another ACR.") if not session_id and not args.role_arn: try: args.role_arn = session_role(args.runtime) except ClientError as error: parser.error( f"The client cannot create or check the session role: {error}. " "Get the IAM permissions in README.md, or give --role-arn." ) print(f"Session role {args.role_arn}") if session_id: # BMA opens the stream only with stream=true, and the SDK does not send it. events = sessions.events.stream(session_id, extra_query={"stream": "true"}) message = { "role": "user", "content": [{"type": "input_text", "text": args.input}], } sessions.events.create( session_id, events=[{"type": "agent.session.input.message", "input": [message]}], ) else: agent: dict[str, Any] = { "model": BMA_MODEL_ID, "instructions": "Use the available tools to complete the task.", } if args.gateway: # Bedrock Managed Agents calls Gateway with the session role from the service side. agent["tools"] = [ {"type": "mcp", "server_label": "team_tools", "connector_id": args.gateway} ] args.input += " Then list the tools that the Gateway gives you." events = sessions.create( agent=agent, environment={ "type": "aws_bedrock_agentcore", "runtime_arn": args.runtime, "runtime_qualifier": "DEFAULT", "workspace_directory": WORKSPACE_DIRECTORY, "capability_directories": CAPABILITY_DIRECTORIES, }, input=args.input, stream=True, # The SDK has no role_arn parameter. BMA assumes this role to call the ACR. extra_body={"role_arn": args.role_arn}, ) with events: for event in events: data = event.model_dump(mode="json", warnings=False) session_id = session_id or (data.get("session") or {}).get("id") if args.raw: print(json.dumps(data), flush=True) else: show(data) if data["type"].removeprefix("agent.session.turn.") in TURN_END: break if args.delete: sessions.delete(session_id) print(f"\nDeleted session {session_id}") if __name__ == "__main__": main()
Fase 4: Continuare la sessione
Per inviare un altro input alla stessa sessione, aggiungi l'ID della sessione. Il turno utilizza la stessa area di lavoro. Per mantenere l'area di lavoro dopo un'interruzione di attività, aggiungi lo spazio di archiviazione della sessione come indicato in. Conserva i file dopo un'interruzione di inattività
uv run client.py --runtime <runtime-arn> --session-id <session-id> \ --input "Run cat acr-report.txt and show the output."
Se la sessione non esiste, il client crea una nuova sessione. Aggiungi --delete per eliminare la sessione dopo il turno o --raw per stampare ogni evento come JSON.
In un runtime MicroVM, inserisci la home directory dell'exec-server nell'archivio della sessione. Quindi il workspace, lo stato della connessione e CODEX_HOME rimani dopo un'interruzione di inattività.
-
Invece del comando nel passaggio 1, crea il progetto con l'archiviazione della sessione:
agentcore create --name MyManagedAgent --framework BedrockManagedAgents \ --session-storage-mount-path /mnt/home cd MyManagedAgent -
In
agentcore/agentcore.json, aggiungi questa variabile alla voce relativa al Runtime:"envVars": [{ "name": "BMA_HOME_DIR", "value": "/mnt/home" }] -
Nel
client.py, setWORKSPACE_DIRECTORY = "/mnt/home/workspace". -
Implementa ed esegui il client.
Per ulteriori informazioni sull'archiviazione delle sessioni, consulta Configurazioni del file system per AgentCore Runtime.
Fase 5: (Facoltativo) Aggiungere competenze
Per aggiungere un'abilità all'immagine, aggiungi un plugin sotto plugins/ e distribuiscilo. Un plugin ha un .codex-plugin/plugin.json file e una skills/ cartella. La skills/ directory ha una sottodirectory per ogni abilità, con un SKILL.md file al suo interno. L'immagine la copia in /opt/bma/plugins cui viene già inviata dal client a Bedrock Managed Agents.
Per iniziareplugins/acr-report/, copia e rinomina la cartella dei plugin e skills/acr-report/ il nome del plugin e della tua abilità. Inplugin.json, set name versiondescription, e"skills": "./skills/". Ognuno SKILL.md inizia con una parte introduttiva che ha name edescription. Dopo la distribuzione, inizia una nuova sessione con--input "Use the <skill-name> skill to …".
Monta un punto di accesso S3 Files nel Runtime. Quindi le abilità cambiano quando cambia il bucket e l'immagine rimane la stessa. Per il file system S3 Files, il punto di accesso e le regole del gruppo di sicurezza, vedi Configurazioni del file system for Runtime. AgentCore
Un montaggio di file S3 richiede un Runtime in modalità di rete VPC. Crea il progetto con le opzioni di rete attive. Implementa il Runtime in un VPC
Nel bucket, inserisci ogni plugin nella propria directory sotto la directory principale del punto di accesso. Usa lo stesso layout diplugins/acr-report/: <plugin>/.codex-plugin/plugin.json and<plugin>/skills/<skill>/SKILL.md.
Aggiungi il mount alla voce relativa al Runtime inagentcore/agentcore.json:
{ "filesystemConfigurations": [ { "s3FilesAccessPoint": { "accessPointArn": "arn:aws:s3files:us-east-1:111122223333:file-system/fs-0123456789abcdef0/access-point/fsap-0123456789abcdef0", "mountPath": "/mnt/skills" } } ] }
Quindi CAPABILITY_DIRECTORIES client.py impostate ["/opt/bma/plugins", "/mnt/skills"] e distribuite.
Passaggio 6: Visualizza log e tracce
agentcore logs --since 15m
La prima implementazione attiva CloudWatch Transaction Search nel tuo account. Le tracce vengono visualizzate dopo circa 10 minuti. Per vedere le tracce, apri la CloudWatch console e scegli GenAI Observability. Ogni chiamata da Bedrock Managed Agents al server del ciclo di vita ha un intervallo. bma.invocation Per ulteriori informazioni, consulta Visualizza i dati di osservabilità per i tuoi agenti Amazon Bedrock AgentCore .
Le impostazioni di Transaction Search si applicano all'intero account
Transaction Search e la relativa indicizzazione Span si applicano all'intero account nella Regione e potrebbero essere applicati costi aggiuntivi. Per mantenere le impostazioni correnti, esegui l'aggiunta ~/.agentcore/config.json prima della "disableTransactionSearch": true distribuzione.
Fase 7: Aggiornamento e ridistribuzione
Modifica le impostazioni di runtime o agentcore/agentcore.json i file dell'immagine ed esegui nuovamente la distribuzione. Ad esempio, questa impostazione interrompe una sessione inattiva dopo 10 minuti. I valori sono espressi in secondi.
{ "lifecycleConfiguration": { "idleRuntimeSessionTimeout": 600, "maxLifetime": 28800 } }
agentcore deploy
Le modifiche si applicano alle nuove sessioni.
Aggiungi una variabile envVars nella voce relativa al Runtime, ad esempio. { "name": "DISABLE_ADOT_OBSERVABILITY", "value": "true" }
| Variabile | Predefinita | Description |
|---|---|---|
|
|
Non impostato |
Imposta su |
|
|
|
|
|
|
|
La directory di |
|
|
|
|
|
|
|
Il codice binario del Codex. |
|
|
|
Il contratto di locazione con il turno più lungo, in pochi secondi. |
Ogni build di immagine installa l'ultima versione del Codex. Il server del ciclo di vita richiede Codex 0.154.0 o versione successiva. Per bloccare una release, aggiungi CODEX_RELEASE=<version> accanto a in. CODEX_NON_INTERACTIVE=1 Dockerfile
Fase 8: Pulizia
Per eliminare una sessione, --delete aggiungila all'ultima esecuzione del client per quella sessione. Quindi rimuovi le risorse del progetto ed esegui la distribuzione per eliminare il Runtime, il relativo ruolo di esecuzione e lo stack.
agentcore remove all agentcore deploy
La distribuzione non elimina queste risorse:
-
I CloudWatch Logs registrano i gruppi del Runtime, del CodeBuild progetto che crea l'immagine e della funzione Lambda che avvia la compilazione.
-
La chiave AWS KMS del repository Amazon ECR. La chiave rimane nello stato In sospeso di eliminazione per 30 giorni, quindi AWS KMS la elimina.
-
Lo
CDKToolkitstack, se la prima distribuzione ha avviato l'account e la regione. Altre app AWS CDK possono utilizzare questo stack. Eliminalo solo se nessun'altra app lo utilizza. -
Le impostazioni di ricerca delle transazioni del passaggio 6.
-
Il ruolo della sessione
client.pycreato nel passaggio 3.
Per eliminare il ruolo della sessione, esegui questi comandi:
aws iam delete-role-policy --role-name BmaSessionRole-<region> --policy-name BmaSession aws iam delete-role --role-name BmaSessionRole-<region>
Per trovare i gruppi di log, esegui questi comandi. Quindi elimina ogni gruppo di log.
aws logs describe-log-groups --log-group-name-prefix /aws/bedrock-agentcore/runtimes/<project-name>_<agent-name>- --query 'logGroups[].logGroupName' aws logs describe-log-groups --log-group-name-prefix /aws/codebuild/AgentCore-<project-name>-<target-name>- --query 'logGroups[].logGroupName' aws logs describe-log-groups --log-group-name-prefix /aws/lambda/AgentCore- --query 'logGroups[].logGroupName' aws logs delete-log-group --log-group-name <log-group-name>
Sostituisci questi valori:
-
<project-name>- Il nome del progetto. Nella fase 1, lo èMyManagedAgent. -
<agent-name>- Il nome dell'agente. Nella Fase 1, lo è ancheMyManagedAgent. -
<target-name>- Il nome dell'obiettivo di distribuzione inagentcore/aws-targets.json. Il valore predefinito èdefault. Nei CodeBuild nomi, ogni trattino basso (_) nel nome del progetto e nel nome della destinazione viene modificato in un trattino ().-
Il nome del gruppo di log Lambda è abbreviato, come in questo esempio:
/aws/lambda/AgentCore-MyManagedAgent--ApplicationAgentMyManage-<suffix>
Il comando elenca i gruppi di log Lambda di tutti i progetti AgentCore CLI nella regione. Elimina solo i gruppi di log del tuo progetto.
Se hai aggiunto altre risorse al progetto, come un gateway o una memoria, verifica che la distribuzione le abbia eliminate.