View a markdown version of this page

Contoh - Batuan Dasar Amazon AgentCore

Contoh

Contoh berikut menunjukkan fungsi Lambda Python yang dapat menangani jenis pencegat REQUEST dan RESPONSE. Pencegat REQUEST mencatat metode MCP dan meneruskan permintaan melalui tidak berubah, sedangkan pencegat RESPONSE meneruskan respons melalui tidak berubah.

Pass-through pencegat

Contoh ini menunjukkan pencegat sederhana yang mencatat metode MCP untuk pencegat REQUEST dan meneruskan semua permintaan dan tanggapan melalui tidak berubah:

import json import logging # Configure logging logger = logging.getLogger() logger.setLevel(logging.INFO) def lambda_handler(event, context): """ Lambda function that handles both REQUEST and RESPONSE interceptor types. For REQUEST interceptors: logs the MCP method and passes request through unchanged For RESPONSE interceptors: passes response through unchanged """ # Extract the MCP data from the event mcp_data = event.get('mcp', {}) # Check if this is a REQUEST or RESPONSE interceptor based on presence of gatewayResponse if 'gatewayResponse' in mcp_data and mcp_data['gatewayResponse'] != None: # This is a RESPONSE interceptor logger.info("Processing RESPONSE interceptor - passing through unchanged") # Pass through the original request and response unchanged response = { "interceptorOutputVersion": "1.0", "mcp": { "transformedGatewayResponse": { "body": mcp_data.get('gatewayResponse', {}).get('body', {}), "statusCode": mcp_data.get('gatewayResponse', {}).get('statusCode', 200) } } } else: # This is a REQUEST interceptor gateway_request = mcp_data.get('gatewayRequest', {}) request_body = gateway_request.get('body', {}) mcp_method = request_body.get('method', 'unknown') # Log the MCP method logger.info(f"Processing REQUEST interceptor - MCP method: {mcp_method}") # Pass through the original request unchanged response = { "interceptorOutputVersion": "1.0", "mcp": { "transformedGatewayRequest": { "body": request_body, } } } return response

Fungsi Lambda ini dapat dikonfigurasi sebagai pencegat REQUEST dan RESPONSE. Ketika dikonfigurasi sebagai pencegat REQUEST, itu akan mencatat metode MCP dari permintaan yang masuk. Ketika dikonfigurasi sebagai pencegat RESPONS, itu hanya akan melewati respons melalui tidak berubah. Kedua tipe pencegat mengembalikan data asli tanpa modifikasi, menjadikannya pencegat “pass-through”.