View a markdown version of this page

Erste Schritte mit AgentCore Gateway - Amazon Grundgestein AgentCore

Erste Schritte mit AgentCore Gateway

In dieser Schnellstartanleitung erfahren Sie, wie Sie ein Gateway einrichten und es mithilfe der AgentCore CLI in Ihre Agenten integrieren. Umfassendere Anleitungen und Beispiele finden Sie im Amazon Bedrock AgentCore GitHub Gateway-Repository.

Anmerkung

Die AgentCore CLI bietet sowohl Befehle als auch einen interaktiven TUI-Assistenten für die Verwaltung von AgentCore Gateway-Ressourcen. Die vollständige AWS SDK-API-Referenz finden Sie unter Operationen auf der AgentCore Steuerungsebene.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • AWS Konto mit konfigurierten Anmeldeinformationen. Um Anmeldeinformationen zu konfigurieren, können Sie die AWS Befehlszeilenschnittstelle installieren und verwenden, indem Sie die Schritte unter Erste Schritte mit der AWS CLI ausführen.

  • Node.js 18+ installiert (für die AgentCore CLI).

  • Python 3.10+ installiert (für das Agentenskript).

  • IAM-Berechtigungen für die Erstellung von Rollen und Lambda-Funktionen und die Verwendung von Amazon Bedrock. AgentCore

  • Model Access — Aktivieren Sie Claude Sonnet 3.7 von Anthropic in der Amazon Bedrock-Konsole (oder einem anderen Modell für den Demo-Agenten)

Schritt 1: Einrichtung und Installation

Installieren Sie die AgentCore CLI global:

npm install -g @aws/agentcore

Erstellen Sie ein neues AgentCore Projekt mit einem Agenten und einem Gateway:

Beispiel
AgentCore CLI
  1. agentcore create --name MyGatewayAgent --defaults

    Das --defaults Flag erstellt ein Projekt mit einem standardmäßigen Python Strings-Agenten. Sie können es auch weglassen --defaults und --name den interaktiven Assistenten verwenden, um Ihr bevorzugtes Framework auszuwählen.

Interactive
  1. Sie können auch agentcore create ohne Flags ausführen, um den interaktiven Assistenten zu verwenden. Der Assistent führt Sie durch die Auswahl eines Projektnamens, eines Agent-Frameworks, eines Modellanbieters und anderer Optionen.

Schritt 2: Gateway erstellen

Fügen Sie Ihrem Projekt mithilfe der AgentCore CLI ein Gateway und ein Ziel hinzu:

Beispiel
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. Führen Sie den Befehl aus, agentcore um die TUI zu öffnen, wählen Sie dann Hinzufügen und dann Gateway aus:

  2. Geben Sie den Gateway-Namen ein:

    Gateway-Assistent: Geben Sie den Namen ein
  3. Wählen Sie den Autorisierungstyp aus. Wählen Sie für diesen Schnellstart NONE:

    Gateway-Assistent: Wählen Sie NONE Authorizer
  4. Konfigurieren Sie erweiterte Optionen oder akzeptieren Sie die Standardeinstellungen:

    Gateway-Assistent: erweiterte Konfiguration
  5. Überprüfen Sie die Konfiguration und drücken Sie die Eingabetaste, um Folgendes zu bestätigen:

    Gateway-Assistent: Konfiguration überprüfen

    Wählen Sie als Nächstes erneut Hinzufügen und dann Gateway Target, um ein Lambda-Funktionsziel hinzuzufügen:

  6. Geben Sie den Namen des Ziels ein.

  7. Wählen Sie die Lambda-Funktion als Zieltyp aus:

    Gateway-Zielassistent: Lambda-Funktion auswählen
  8. Geben Sie den Lambda-ARN und den Dateipfad für das Tool-Schema ein und bestätigen Sie dann.

Um stattdessen die JWT-based Autorisierung zu verwenden, geben Sie --authorizer-type CUSTOM_JWT mit Ihrer OAuth-Discovery-URL Folgendes an:

Beispiel
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. Führen Sie den Befehl aus, agentcore um die TUI zu öffnen, wählen Sie dann Hinzufügen und dann Gateway aus. Wenn Sie nach dem Autorisierungstyp gefragt werden, wählen Sie Benutzerdefiniertes JWT aus:

  2. Geben Sie den Gateway-Namen ein:

    Gateway-Assistent: Geben Sie den Namen ein
  3. Wählen Sie Benutzerdefiniertes JWT als Autorisierungstyp aus:

    Gateway-Assistent: Wählen Sie Benutzerdefinierter JWT-Autorisierer
  4. Geben Sie die OAuth-Discovery-URL und die zulässige Zielgruppe ein, wenn Sie dazu aufgefordert werden.

  5. Konfigurieren Sie erweiterte Optionen oder akzeptieren Sie die Standardeinstellungen:

    Gateway-Assistent: erweiterte Konfiguration
  6. Überprüfen Sie die Konfiguration und drücken Sie die Eingabetaste, um Folgendes zu bestätigen:

    Gateway-Assistent: Konfiguration überprüfen

Schritt 3: Führen Sie das Setup aus

Stellen Sie Ihr Projekt bereit für AWS:

agentcore deploy

Die CLI synthetisiert einen AWS CDK-Stack und stellt Ihr Gateway, Ihre Ziele und Ihren Agenten auf Amazon Bedrock bereit. AgentCore Dies dauert etwa 2-3 Minuten.

Schritt 4: Verwenden Sie das Gateway mit einem Agenten

Rufen Sie Ihre Gateway-URL mit der AgentCore CLI ab:

agentcore status

Erstellen Sie eine neue Datei mit dem Namen run_agent.py und fügen Sie den folgenden Code ein. Installieren Sie zuerst die Python-Abhängigkeiten:

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

Führen Sie Ihren Agenten aus

Testen Sie Ihr Gateway, indem Sie den Agenten ausführen und mit den Tools interagieren.

python run_agent.py

Das ist es! Der Agent wird gestartet und Sie können Fragen stellen wie:

  • „Wie ist das Wetter in Seattle?“

  • „Wie viel Uhr ist es in New York?“

Was du gebaut hast

In diesem Tutorial für die ersten Schritte haben Sie die folgenden Ressourcen erstellt:

  • MCP Server (Gateway): Ein verwalteter Endpunkt unter https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp

  • Lambda-Tools: Scheinfunktionen, die Testdaten zurückgeben (Wetter: „72°F, Sunny“, Uhrzeit: "14:30 Uhr“)

  • KI-Agent: Claude-powered Assistent, der Ihre Tools entdecken und verwenden kann

Fehlerbehebung

Die folgende Tabelle zeigt einige mögliche Probleme und deren Lösungen:

Problem Lösung

„Kein Modul mit dem Namen 'Strands'“

Lauf: pip install strands-agents

„Modell nicht aktiviert“

Aktivieren Sie Claude Sonnet 3.7 in der Bedrock-Konsole → Modellzugriff

"AccessDeniedException"

Überprüfen Sie die IAM-Berechtigungen für Bedrock-Agentcore: *

Gateway reagiert nicht

Warten Sie nach der Erstellung 30-60 Sekunden auf die DNS-Propagierung

Schnelle Validierung

Führen Sie die folgenden Befehle in einem Terminal aus, um zu überprüfen, ob Ihr Gateway funktioniert.

# 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

Bereinigen

Um das Gateway und seine Ziele aus Ihrem Projekt zu entfernen:

agentcore remove gateway --name TestGateway

So entfernen Sie alle Ressourcen und stellen sie erneut bereit:

agentcore remove all agentcore deploy

Nächste Schritte

  • Benutzerdefinierte Lambda-Tools: Erstellen Sie Lambda-Funktionen mit Ihrer Geschäftslogik

  • Fügen Sie Ihre eigenen APIs hinzu: Erweitern Sie Ihr Gateway mit OpenAPI-Spezifikationen für echte Dienste

  • Produktionseinrichtung: Konfiguration von VPC-Endpunkten, benutzerdefinierten Domänen und Überwachung