View a markdown version of this page

Memulai dengan AgentCore Gateway - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memulai dengan AgentCore Gateway

Dalam panduan memulai cepat ini Anda akan belajar cara mengatur gateway dan mengintegrasikannya ke agen Anda menggunakan AgentCore CLI. Untuk panduan dan contoh yang lebih komprehensif, lihat GitHub repositori 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.

catatan

AgentCore CLI menyediakan perintah dan wizard TUI interaktif untuk mengelola sumber daya AgentCore Gateway. Untuk referensi API AWS SDK lengkap, lihat Operasi AgentCore Control Plane.

Prasyarat

Sebelum memulai, pastikan Anda memiliki yang berikut:

  • AWS Akun dengan kredenSIAL dikonfigurasi. Untuk mengkonfigurasi kredenSIAL, Anda dapat menginstal dan menggunakan AWS Command Line Interface dengan mengikuti langkah-langkah di Mem ulai dengan AWS CLI.

  • Node.js 20+ diinstal (untuk AgentCore CLI).

  • Python 3.10+ diinstal (untuk skrip agen).

  • Izin IAM untuk membuat peran, fungsi Lambda, dan menggunakan Amazon Bedrock. AgentCore

  • Akses model. Amazon Bedrock memungkinkan akses ke model pondasi secara default. Untuk menggunakan model non-dasar, ikuti langkah-langkah akses model.

Langkah 1: Setup dan instal

Instal AgentCore CLI secara global:

npm install -g @aws/agentcore

Buat AgentCore proyek baru dengan agen dan gateway:

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

    Opsi ini membuat agen Python Strands yang menggunakan Amazon Bedrock dan tanpa memori. Atau, jalankan agentcore create tanpa opsi dan pilih Agen di wizard interaktif.

Interactive
  1. Anda juga dapat menjalankan agentcore create tanpa bendera untuk menggunakan wizard interaktif. Wizard memandu Anda melalui pemilihan nama proyek, kerangka kerja agen, penyedia model, dan opsi lainnya.

Langkah 2: Buat gateway

Tambahkan gateway dan target ke proyek Anda menggunakan AgentCore CLI:

contoh
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. J agentcore alankan untuk membuka TUI, lalu pilih add dan pilih Gateway:

  2. Masukkan nama gateway:

    Wizard gateway: masukkan nama
  3. Pilih jenis otorisasi. Untuk memulai cepat ini, pilih TIDAK ADA:

    Wizard gateway: pilih NONE Authorizer
  4. Konfigurasikan opsi lanjutan atau terima default:

    Wizard gateway: konfigurasi lanjutan
  5. Tinjau konfigurasi dan tekan Enter untuk mengonfirmasi:

    Wizard gateway: tinjau konfigurasi

    Selanjutnya, pilih tambahkan lagi dan pilih Gateway Target untuk menambahkan target fungsi Lambda:

  6. Masukkan nama target.

  7. Pilih fungsi Lambda sebagai tipe target:

    Wisaya target gateway: pilih fungsi Lambda
  8. Masukkan jalur file Lambda ARN dan skema alat, lalu konfirmasikan.

Untuk menggunakan JWT-based otorisasi sebagai gantinya, tent --authorizer-type CUSTOM_JWT ukan dengan URL penemuan OAuth Anda:

contoh
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. J agentcore alankan untuk membuka TUI, lalu pilih add dan pilih Gateway. Saat diminta untuk jenis otorizer, pilih JWT K ustom:

  2. Masukkan nama gateway:

    Wizard gateway: masukkan nama
  3. Pilih Custom JWT sebagai jenis otorizer:

    Wizard gateway: pilih Otorizer JWT Kustom
  4. Masukkan URL penemuan OAuth dan pemirsa yang diizinkan saat diminta.

  5. Konfigurasikan opsi lanjutan atau terima default:

    Wizard gateway: konfigurasi lanjutan
  6. Tinjau konfigurasi dan tekan Enter untuk mengonfirmasi:

    Wizard gateway: tinjau konfigurasi

Langkah 3: Jalankan pengaturan

Menyebarkan proyek Anda ke AWS:

agentcore deploy

CLI mensintesis tumpukan AWS CDK dan menyebarkan gateway, target, dan agen Anda ke Amazon Bedrock. AgentCore Ini memakan waktu sekitar 2-3 menit.

Langkah 4: Gunakan gateway dengan agen

Ambil URL gateway Anda menggunakan AgentCore CLI:

agentcore status

Buat file baru yang disebut run_agent.py dan masukkan kode berikut. Instal dependensi Python terlebih dahulu:

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

Jalankan agen Anda

Uji gateway Anda dengan menjalankan agen dan berinteraksi dengan alat.

python run_agent.py

Itu saja! Agen akan mulai dan Anda dapat mengajukan pertanyaan seperti:

  • “Bagaimana cuaca di Seattle?”

  • “Jam berapa sekarang di New York?”

Apa yang telah Anda bangun

Melalui tutorial memulai ini, Anda telah membuat sumber daya berikut:

  • MCP Server (Gateway): Titik akhir yang dikelola di https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp

  • Alat Lambda: Fungsi tiruan yang mengembalikan data uji (cuaca: “72°F, Cerah”, waktu: "2:30 PM”)

  • Agen AI: Claude-powered asisten yang dapat menemukan dan menggunakan alat Anda

Pemecahan masalah

Tabel berikut menunjukkan beberapa kemungkinan masalah dan solusinya:

Isu Solusi

“Tidak ada modul bernama 'untaian'”

Jalankan: pip install strands-agents

“Akses model ditolak”

Amazon Bedrock memungkinkan akses ke model pondasi secara default. Untuk model non-dasar, ikuti langkah-langkah akses model.

"AccessDeniedException"

Periksa izin IAM untuk bedrock-agentcore: *

Gateway tidak merespons

Tunggu 30-60 detik setelah pembuatan untuk propagasi DNS

Validasi cepat

Jalankan perintah berikut di terminal untuk memeriksa apakah gateway Anda berfungsi.

# 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

Pembersihan

Untuk menghapus gateway dan targetnya dari proyek Anda:

agentcore remove gateway --name TestGateway

Untuk menghapus semua sumber daya dan menyebarkan kembali:

agentcore remove all agentcore deploy

Langkah selanjutnya

  • Alat Lambda Kustom: Buat fungsi Lambda dengan logika bisnis Anda

  • Tambahkan API Anda Sendiri: Perluas Gateway Anda dengan spesifikasi OpenAPI untuk layanan nyata

  • Pengaturan Produk si: Konfigurasikan titik akhir VPC, domain khusus, dan pemantauan