View a markdown version of this page

Exemples - Amazon Bedrock AgentCore

Exemples

L'exemple suivant montre une fonction Lambda Python capable de gérer à la fois les types d'intercepteurs REQUEST et RESPONSE. L'intercepteur REQUEST enregistre la méthode MCP et transmet la demande sans modification, tandis que l'intercepteur RESPONSE transmet la réponse sans modification.

Pass-through intercepteur

Cet exemple illustre un intercepteur simple qui enregistre la méthode MCP pour les intercepteurs REQUEST et transmet toutes les demandes et réponses sans modification :

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

Cette fonction Lambda peut être configurée à la fois comme intercepteur REQUEST et RESPONSE. Lorsqu'il est configuré en tant qu'intercepteur REQUEST, il enregistre la méthode MCP à partir de la demande entrante. Lorsqu'il est configuré en tant qu'intercepteur RESPONSE, il transmet simplement la réponse sans modification. Les deux types d'intercepteurs renvoient les données d'origine sans modification, ce qui en fait un intercepteur « direct ».