Inizia a usare AgentCore Gateway
In questa guida rapida imparerai come configurare un gateway e integrarlo nei tuoi agenti utilizzando la AgentCore CLI. Per guide ed esempi più completi, consulta il GitHub repository Amazon Bedrock AgentCore Gateway
Nota
La AgentCore CLI fornisce sia i comandi che una procedura guidata TUI interattiva per la gestione delle risorse del gateway. AgentCore Per il riferimento completo all'API AWS SDK, consulta AgentCore Control Plane operations.
Argomenti
Prerequisiti
Prima di iniziare, assicurati di avere quanto segue:
-
AWS Account con credenziali configurate. Per configurare le credenziali, puoi installare e utilizzare l'interfaccia a riga di AWS comando seguendo la procedura descritta in Guida introduttiva alla AWS CLI.
-
Node.js 18+ installati (per la AgentCore CLI).
-
Python 3.10+ installato (per lo script dell'agente).
-
Autorizzazioni IAM per la creazione di ruoli, funzioni Lambda e l'utilizzo di Amazon Bedrock. AgentCore
-
Accesso al modello: abilita Claude Sonnet 3.7 di Anthropic nella console Amazon Bedrock (o un altro modello per l'agente demo)
Fase 1: Configurazione e installazione
Installa la AgentCore CLI a livello globale:
npm install -g @aws/agentcore
Crea un nuovo AgentCore progetto con un agente e un gateway:
Esempio
Fase 2: Creare un gateway
Aggiungi un gateway e un target al tuo progetto utilizzando la AgentCore CLI:
Esempio
Per utilizzare invece l' JWT-based autorizzazione, specifica --authorizer-type CUSTOM_JWT con il tuo URL di scoperta OAuth:
Esempio
Fase 3: Eseguire la configurazione
Implementa il tuo progetto su AWS:
agentcore deploy
La CLI sintetizza uno stack AWS CDK e distribuisce il gateway, i target e l'agente su Amazon Bedrock. AgentCore Questa operazione richiede circa 2-3 minuti.
Fase 4: Utilizzare il gateway con un agente
Recupera l'URL del gateway utilizzando la AgentCore CLI:
agentcore status
Crea un nuovo file chiamato run_agent.py e inserisci il codice seguente. Installa prima le dipendenze Python:
pip install strands-agents mcp
""" Agent script to test the Gateway Run this after setup: python run_agent.py """ from strands import Agent from strands.models import BedrockModel from strands.tools.mcp.mcp_client import MCPClient from mcp.client.streamable_http import streamablehttp_client import json import sys def create_streamable_http_transport(mcp_url: str): return streamablehttp_client(mcp_url) def get_full_tools_list(client): """Get all tools with pagination support""" more_tools = True tools = [] pagination_token = None while more_tools: tmp_tools = client.list_tools_sync(pagination_token=pagination_token) tools.extend(tmp_tools) if tmp_tools.pagination_token is None: more_tools = False else: more_tools = True pagination_token = tmp_tools.pagination_token return tools def run_agent(): # Get the gateway URL from agentcore status gateway_url = "<YOUR_GATEWAY_URL>" # Replace with URL from 'agentcore status' # Model configuration - change if needed model_id = "anthropic.claude-3-7-sonnet-20250219-v1:0" print("Starting AgentCore Gateway Test Agent") print(f"Gateway URL: {gateway_url}") print(f"Model: {model_id}") print("-" * 60) # Setup Bedrock model bedrockmodel = BedrockModel( model_id=model_id, streaming=True, ) # Setup MCP client (no auth token needed for NONE authorizer) mcp_client = MCPClient(lambda: create_streamable_http_transport(gateway_url)) with mcp_client: # List available tools tools = get_full_tools_list(mcp_client) print(f"\nAvailable tools: {[tool.tool_name for tool in tools]}") print("-" * 60) # Create agent agent = Agent(model=bedrockmodel, tools=tools) # Interactive loop print("\nInteractive Agent Ready!") print("Try asking: 'What's the weather in Seattle?'") print("Type 'exit', 'quit', or 'bye' to end.\n") while True: user_input = input("You: ") if user_input.lower() in ["exit", "quit", "bye"]: print("Goodbye!") break print("\nThinking...\n") response = agent(user_input) print(f"\nAgent: {response.message.get('content', response)}\n") if __name__ == "__main__": run_agent()
Gestisci il tuo agente
Metti alla prova il tuo gateway eseguendo l'agente e interagendo con gli strumenti.
python run_agent.py
Questo è tutto! L'agente inizierà e potrai porre domande come:
-
«Che tempo fa a Seattle?»
-
«Che ora è a New York?»
Cosa hai costruito
Attraverso questo tutorial introduttivo, hai creato le seguenti risorse:
-
MCP Server (Gateway): un endpoint gestito presso
https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp -
Strumenti Lambda: funzioni fittizie che restituiscono dati di test (meteo: «72°F, soleggiato», ora: "14:30")
-
Agente AI: Claude-powered assistente in grado di scoprire e utilizzare i tuoi strumenti
Risoluzione dei problemi
La tabella seguente mostra alcuni possibili problemi e le relative soluzioni:
| Problema | Soluzione |
|---|---|
|
«Nessun modulo chiamato 'strands'» |
Esegui: |
|
«Modello non abilitato» |
Abilita Claude Sonnet 3.7 nella console Bedrock → Accesso al modello |
|
"AccessDeniedException" |
Controlla le autorizzazioni IAM per bedrock-agentcore: * |
|
Il gateway non risponde |
Attendi 30-60 secondi dopo la creazione per la propagazione DNS |
Convalida rapida
Esegui i seguenti comandi in un terminale per verificare che il gateway funzioni.
# Check your Gateway is working curl -X POST YOUR_GATEWAY_URL \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' # Watch live logs aws logs tail /aws/bedrock-agentcore/gateways/YOUR_GATEWAY_ID --follow
Pulizia
Per rimuovere il gateway e i relativi obiettivi dal progetto:
agentcore remove gateway --name TestGateway
Per rimuovere tutte le risorse e ridistribuirle:
agentcore remove all agentcore deploy
Fasi successive
-
Strumenti Lambda personalizzati: crea funzioni Lambda con la tua logica aziendale
-
Aggiungi le tue API: estendi il tuo gateway con le specifiche OpenAPI per servizi reali
-
Configurazione della produzione: configurazione degli endpoint VPC, dei domini personalizzati e del monitoraggio