View a markdown version of this page

Inizia a usare AgentCore Gateway - Fondamento Amazon AgentCore

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 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 repository Amazon Bedrock AgentCore Gateway GitHub .

Nota

La AgentCore CLI fornisce sia comandi che una procedura guidata TUI interattiva per la gestione delle risorse del Gateway. AgentCore Per il riferimento completo all'API AWS SDK, vedi AgentCore Control Plane operations.

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

  • AWS Account con credenziali configurate. Per configurare le credenziali, è possibile installare e utilizzare l'interfaccia a riga di AWS comando seguendo i passaggi descritti in Guida introduttiva alla CLI AWS .

  • Node.js 20+ installati (per la CLI AgentCore ).

  • 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. Amazon Bedrock consente l'accesso ai modelli di base per impostazione predefinita. Per utilizzare un modello non di base, segui i passaggi di accesso al modello.

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
AgentCore CLI
  1. agentcore create --project-name MyGatewayProject --name MyGatewayAgent \ --language Python --framework Strands --model-provider Bedrock --memory none cd MyGatewayProject

    Queste opzioni creano un agente Python Strands che utilizza Amazon Bedrock e non utilizza memoria. In alternativa, esegui agentcore create senza opzioni e seleziona Agent nella procedura guidata interattiva.

Interactive
  1. Puoi anche eseguire agentcore create senza contrassegni per utilizzare la procedura guidata interattiva. La procedura guidata guida l'utente nella selezione del nome del progetto, del framework dell'agente, del fornitore del modello e di altre opzioni.

Fase 2: Creare un gateway

Aggiungi un gateway e un target al tuo progetto usando la AgentCore CLI:

Esempio
AgentCore CLI
  1. # Add a gateway with no inbound auth (simplest for getting started) agentcore add gateway --name TestGateway --authorizer-type NONE --runtimes MyGatewayAgent # Add a Lambda function target agentcore add gateway-target --name TestLambdaTarget --type lambda-function-arn \ --lambda-arn <YOUR_LAMBDA_ARN> \ --tool-schema-file tools.json \ --gateway TestGateway
Interactive
  1. Esegui agentcore per aprire il TUI, quindi seleziona aggiungi e scegli Gateway:

  2. Inserisci il nome del gateway:

    Gateway wizard: inserisci il nome
  3. Seleziona il tipo di autorizzatore. Per questo avvio rapido, scegli NESSUNO:

    Gateway wizard: seleziona NESSUNO autorizzatore
  4. Configura le opzioni avanzate o accetta le impostazioni predefinite:

    Gateway wizard: configurazione avanzata
  5. Rivedi la configurazione e premi Invio per confermare:

    Gateway wizard: revisione della configurazione

    Quindi, seleziona nuovamente aggiungi e scegli Gateway Target per aggiungere un target di funzione Lambda:

  6. Inserisci il nome del target.

  7. Seleziona la funzione Lambda come tipo di destinazione:

    Gateway target wizard: seleziona la funzione Lambda
  8. Inserisci l'ARN Lambda e il percorso del file dello schema dello strumento, quindi conferma.

Per utilizzare invece l' JWT-based autorizzazione, specifica --authorizer-type CUSTOM_JWT con l'URL di scoperta OAuth:

Esempio
AgentCore CLI
  1. agentcore add gateway --name TestGateway \ --authorizer-type CUSTOM_JWT \ --discovery-url https://cognito-idp.us-east-1.amazonaws.com/<POOL_ID>/.well-known/openid-configuration \ --allowed-audience <CLIENT_ID> \ --runtimes MyGatewayAgent
Interactive
  1. Esegui agentcore per aprire il TUI, quindi seleziona aggiungi e scegli Gateway. Quando viene richiesto il tipo di autorizzazione, seleziona JWT personalizzato:

  2. Inserisci il nome del gateway:

    Gateway wizard: inserisci il nome
  3. Seleziona Custom JWT come tipo di autorizzazione:

    Gateway wizard: seleziona l'autorizzatore JWT personalizzato
  4. Inserisci l'URL di rilevamento OAuth e il pubblico consentito quando richiesto.

  5. Configura le opzioni avanzate o accetta le impostazioni predefinite:

    Gateway wizard: configurazione avanzata
  6. Rivedi la configurazione e premi Invio per confermare:

    Gateway wizard: revisione della configurazione

Fase 3: Eseguire la configurazione

Distribuisci 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: Usare 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 di 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()

Avvia 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 simulate che restituiscono i dati dei 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 denominato 'strands'»

Esegui: pip install strands-agents

«Accesso al modello negato»

Amazon Bedrock consente l'accesso ai modelli di base per impostazione predefinita. Per un modello non di base, segui i passaggi di accesso al modello.

"AccessDeniedException"

Verifica le autorizzazioni IAM per bedrock-agentcore: *

Il gateway non risponde

Attendi 30-60 secondi dopo la creazione per la propagazione del 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: configura gli endpoint VPC, i domini personalizzati e il monitoraggio