

# Commencez avec AgentCore Gateway
<a name="gateway-quick-start"></a>

Dans ce guide de démarrage rapide, vous apprendrez à configurer une passerelle et à l'intégrer à vos agents à l'aide de la AgentCore CLI. Pour des guides et des exemples plus complets, consultez le [ GitHub référentiel Amazon Bedrock AgentCore Gateway](https://github.com/awslabs/amazon-bedrock-agentcore-samples/tree/main/01-tutorials/02-AgentCore-gateway).

**Note**  
La AgentCore CLI fournit à la fois des commandes et un assistant TUI interactif pour gérer les ressources de la AgentCore passerelle. Pour la référence complète de l'API du AWS SDK, consultez la section [Opérations AgentCore du plan de contrôle](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-agentcore-control.html).

**Topics**
+ [Conditions préalables](#gateway-quick-start-prereqs)
+ [Étape 1 : Configuration et installation](#gateway-quick-start-setup)
+ [Étape 2 : créer une passerelle](#gateway-quick-start-create-gateway-setup)
+ [Étape 3 : Exécuter le programme d'installation](#gateway-quick-start-run-setup)
+ [Étape 4 : utilisation de la passerelle avec un agent](#gateway-quick-start-use-gateway-with-agents)
+ [Ce que vous avez construit](#gateway-quick-start-what-youve-built)
+ [Résolution des problèmes](#gateway-quick-start-troubleshooting)
+ [Validation rapide](#gateway-quick-start-quick-validation)
+ [Nettoyage](#gateway-quick-start-cleanup)
+ [Étapes suivantes](#gateway-quick-start-next-steps)

## Conditions préalables
<a name="gateway-quick-start-prereqs"></a>

Avant de commencer, assurez-vous que vous disposez 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 décrites dans [Getting started with the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).
+  **Node.js Plus de 18** personnes installées (pour la AgentCore CLI).
+  **Python 3.10\+** 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 aux modèles** — Activez Claude Sonnet 3.7 d'Anthropic dans la console Amazon Bedrock (ou un autre modèle pour l'agent de démonstration)

## Étape 1 : Configuration et installation
<a name="gateway-quick-start-setup"></a>

Installez la AgentCore CLI globalement :

```
npm install -g @aws/agentcore
```

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

**Example**  

1. 

   ```
   agentcore create --name MyGatewayAgent --defaults
   ```

   L'`--defaults`indicateur crée un projet avec un agent Python Strands par défaut. Vous pouvez également omettre `--defaults` et `--name` utiliser l'assistant interactif pour sélectionner votre framework préféré.

1. Vous pouvez également exécuter `agentcore create` sans drapeaux 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éer une passerelle
<a name="gateway-quick-start-create-gateway-setup"></a>

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

**Example**  

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
   ```

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez **Ajouter** et choisissez **Gateway** :

1. Entrez le nom de la passerelle :  
![Assistant de passerelle : entrez le nom](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Sélectionnez le type d'autorisateur. Pour ce démarrage rapide, choisissez **AUCUN** :  
![Assistant Gateway : sélectionnez AUCUN autorisateur](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-none.png)

1. Configurez les options avancées ou acceptez les valeurs par défaut :  
![Assistant Gateway : configuration avancée](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Vérifiez la configuration et appuyez sur **Entrée** pour confirmer :  
![Assistant Gateway : révision de la configuration](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

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

1. Entrez le nom de la cible.

1. Sélectionnez la **fonction Lambda** comme type de cible :  
![Assistant de ciblage de la passerelle : sélectionnez la fonction Lambda](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-target-type-lambda.png)

1. 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 `--authorizer-type CUSTOM_JWT` à l'aide de votre URL de découverte OAuth :

**Example**  

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
   ```

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez **Ajouter** et choisissez **Gateway**. Lorsque vous êtes invité à saisir le type d'autorisateur, sélectionnez **Custom JWT** :

1. Entrez le nom de la passerelle :  
![Assistant de passerelle : entrez le nom](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Sélectionnez **Custom JWT** comme type d'autorisateur :  
![Assistant Gateway : sélectionnez l'autorisateur JWT personnalisé](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. Entrez l'URL de découverte OAuth et l'audience autorisée lorsque vous y êtes invité.

1. Configurez les options avancées ou acceptez les valeurs par défaut :  
![Assistant Gateway : configuration avancée](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Vérifiez la configuration et appuyez sur **Entrée** pour confirmer :  
![Assistant Gateway : révision de la configuration](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

## Étape 3 : Exécuter le programme d'installation
<a name="gateway-quick-start-run-setup"></a>

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 : utilisation de la passerelle avec un agent
<a name="gateway-quick-start-use-gateway-with-agents"></a>

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()
```

### Dirigez votre agent
<a name="gateway-quick-start-run-agent"></a>

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 poser des questions telles que :
+ « Quel temps fait-il à Seattle ? »
+ « Quelle heure est-il à New York ? »

## Ce que vous avez construit
<a name="gateway-quick-start-what-youve-built"></a>

Dans le cadre de ce didacticiel de mise en route, 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 des données de test (météo : « 72 °F, soleil », heure : « 14 h 30 »)
+  **Agent AI** : Claude-powered assistant capable de découvrir et d'utiliser vos outils

## Résolution des problèmes
<a name="gateway-quick-start-troubleshooting"></a>

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


| Problème | Solution | 
| --- | --- | 
| « Aucun module nommé « brins » » | Exécuter : `pip install strands-agents`  | 
| « Modèle non activé » | Activer Claude Sonnet 3.7 dans la console Bedrock → Accès au modèle | 
| "AccessDeniedException" | Vérifiez les autorisations IAM pour bedrock-agentcore : \* | 
| La passerelle ne répond pas | Patientez 30 à 60 secondes après la création pour la propagation du DNS | 

## Validation rapide
<a name="gateway-quick-start-quick-validation"></a>

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
<a name="gateway-quick-start-cleanup"></a>

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
<a name="gateway-quick-start-next-steps"></a>
+  **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