View a markdown version of this page

Démarrez avec AgentCore Gateway - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Démarrez avec AgentCore Gateway

Dans ce guide de démarrage rapide, vous allez apprendre à configurer une passerelle et à l'intégrer à vos agents à l'aide de l' AgentCore interface de ligne de commande. Pour des guides et des exemples plus complets, consultez le GitHub référentiel https://github.com/awslabs/amazon-bedrock-agentcore-samples/tree/main/01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway Amazon Bedrock AgentCore Gateway.

Note

La AgentCore CLI fournit à la fois des commandes et un assistant TUI interactif pour gérer les ressources de AgentCore Gateway. Pour obtenir la référence complète de l'API du AWS SDK, consultez la section Opérations AgentCore du plan de contrôle.

Conditions préalables

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • AWS Compte avec informations d'identification configurées. Pour configurer les informations d'identification, vous pouvez installer et utiliser l'interface de ligne de AWS commande en suivant les étapes de la section Démarrage avec l' AWS interface de ligne de commande.

  • Node.js Plus de 20 installés (pour la AgentCore CLI).

  • Python 3.10+ est installé (pour le script de l'agent).

  • Autorisations IAM pour créer des rôles, des fonctions Lambda et utiliser Amazon Bedrock. AgentCore

  • Accès au modèle. Amazon Bedrock permet d'accéder aux modèles de base par défaut. Pour utiliser un modèle non fondamental, suivez les étapes d'accès au modèle.

Étape 1 : Configuration et installation

Installez la AgentCore CLI dans le monde entier :

npm install -g @aws/agentcore

Créez un nouveau AgentCore projet avec un agent et une passerelle :

Exemple
AgentCore CLI
  1. agentcore create --project-name MyGatewayProject --name MyGatewayAgent \ --language Python --framework Strands --model-provider Bedrock --memory none cd MyGatewayProject

    Ces options créent un agent Python Strands qui utilise Amazon Bedrock sans mémoire. Vous pouvez également exécuter agentcore create sans options et sélectionner Agent dans l'assistant interactif.

Interactive
  1. Vous pouvez également exécuter agentcore create sans indicateur pour utiliser l'assistant interactif. L'assistant vous guide dans la sélection d'un nom de projet, d'une structure d'agent, d'un fournisseur de modèles et d'autres options.

Étape 2 : Création d'une passerelle

Ajoutez une passerelle et une cible à votre projet à l'aide de la AgentCore CLI :

Exemple
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. Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Gateway  :

  2. Entrez le nom de la passerelle :

    Assistant de passerelle : entrez le nom
  3. Sélectionnez le type d'autorisation. Pour ce démarrage rapide, choisissez AUCUN  :

    Assistant de passerelle : sélectionnez AUCUN autorisateur
  4. Configurez les options avancées ou acceptez les valeurs par défaut :

    Assistant de passerelle : configuration avancée
  5. Vérifiez la configuration et appuyez sur Entrée pour confirmer :

    Assistant Gateway : révision de la configuration

    Ensuite, sélectionnez à nouveau Ajouter et choisissez Gateway Target pour ajouter une cible de fonction Lambda :

  6. Entrez le nom de la cible.

  7. Sélectionnez la fonction Lambda comme type de cible :

    Assistant de ciblage de passerelle : sélectionnez la fonction Lambda
  8. Entrez l'ARN Lambda et le chemin du fichier du schéma de l'outil, puis confirmez.

Pour utiliser l' JWT-based autorisation à la place, spécifiez à l'--authorizer-type CUSTOM_JWTaide de votre URL de découverte OAuth :

Exemple
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. Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Gateway. Lorsque vous êtes invité à entrer le type d'autorisation, sélectionnez Custom JWT :

  2. Entrez le nom de la passerelle :

    Assistant de passerelle : entrez le nom
  3. Sélectionnez Custom JWT comme type d'autorisation :

    Assistant de passerelle : sélectionnez l'autorisateur JWT personnalisé
  4. Entrez l'URL de découverte OAuth et l'audience autorisée lorsque vous y êtes invité.

  5. Configurez les options avancées ou acceptez les valeurs par défaut :

    Assistant de passerelle : configuration avancée
  6. Vérifiez la configuration et appuyez sur Entrée pour confirmer :

    Assistant Gateway : révision de la configuration

Étape 3 : Exécutez la configuration

Déployez votre projet pour AWS :

agentcore deploy

La CLI synthétise une pile AWS CDK et déploie votre passerelle, vos cibles et votre agent sur Amazon Bedrock. AgentCore Cela prend environ 2 à 3 minutes.

Étape 4 : Utiliser la passerelle avec un agent

Récupérez l'URL de votre passerelle à l'aide de la AgentCore CLI :

agentcore status

Créez un nouveau fichier appelé run_agent.py et insérez le code suivant. Installez d'abord les dépendances 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()

Gérez votre agent

Testez votre passerelle en exécutant l'agent et en interagissant avec les outils.

python run_agent.py

C'est ça ! L'agent va commencer et vous pouvez lui poser des questions telles que :

  • « Quel temps fait-il à Seattle ? »

  • « Quelle heure est-il à New York ? »

Ce que tu as construit

Grâce à ce didacticiel de démarrage, vous avez créé les ressources suivantes :

  • Serveur MCP (passerelle)  : un point de terminaison géré à https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp

  • Outils Lambda  : fonctions fictives qui renvoient les données de test (météo : « 72 °F, ensoleillé », heure : « 14 h 30 »)

  • Agent IA  : Claude-powered assistant capable de découvrir et d'utiliser vos outils

Résolution des problèmes

Le tableau suivant présente certains problèmes possibles et leurs solutions :

Problème Solution

« Aucun module nommé 'strands' »

Courez : pip install strands-agents

« Accès au modèle refusé »

Amazon Bedrock permet d'accéder aux modèles de base par défaut. Pour un modèle qui n'est pas un modèle de base, suivez les étapes d'accès au modèle.

"AccessDeniedException"

Vérifiez les autorisations IAM pour bedrock-agentcore : *

La passerelle ne répond pas

Attendez 30 à 60 secondes après la création pour la propagation DNS

Validation rapide

Exécutez les commandes suivantes dans un terminal pour vérifier que votre passerelle fonctionne.

# 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

Nettoyage

Pour supprimer la passerelle et ses cibles de votre projet :

agentcore remove gateway --name TestGateway

Pour supprimer toutes les ressources et les redéployer :

agentcore remove all agentcore deploy

Étapes suivantes

  • Outils Lambda personnalisés  : créez des fonctions Lambda avec votre logique métier

  • Ajoutez vos propres API  : étendez votre passerelle avec les spécifications OpenAPI pour de vrais services

  • Configuration de la production  : configuration des points de terminaison VPC, des domaines personnalisés et de la surveillance