View a markdown version of this page

Configurazione - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione

Gli intercettori possono essere configurati con un parametro di input chiamato passRequestHeaders

Configurazione dell'ingresso dell'intercettore

Quando si configurano gli interceptor, è possibile specificare se le intestazioni delle richieste devono essere passate alla funzione interceptor utilizzando il campo: passRequestHeaders

passare RequestHeaders

Un valore booleano che determina se le intestazioni delle richieste sono incluse nel payload di input dell'interceptor. Se impostato sutrue, tutte le intestazioni delle richieste verranno passate alla funzione Lambda di intercettazione. Se impostato su false (impostazione predefinita), le intestazioni non sono incluse.

avvertimento

Fai attenzione quando lo imposti su true poiché le intestazioni delle richieste possono contenere informazioni sensibili come token di autenticazione e credenziali.

Filtro Payload

Per i target HTTP (AgentCore Runtime e passthrough) e i target di inferenza, che condividono la forma del payload dell'httpintercettore, un filtro opzionale che esclude i campi dal payload di input dell'intercettore. L'invocazione sincrona Lambda ha un limite di 6 MB per la richiesta e la risposta combinate, quindi l'esclusione di un corpo di risposta di grandi dimensioni mantiene il payload entro tale limite. Per escludere il corpo della risposta, imposta payloadFilter.exclude un elenco contenente il campo: RESPONSE_BODY

{ "inputConfiguration": { "passRequestHeaders": false, "payloadFilter": { "exclude": [{ "field": "RESPONSE_BODY" }] } } }
Nota

passRequestHeadersè obbligatorio ininputConfiguration. Includilo (ad esempio"passRequestHeaders": false) accantopayloadFilter.

Quando il corpo della risposta è escluso, il body campo nel payload di input dell'intercettore di risposta è. null La tua funzione può ancora controllare i valori statusCodecontentType, e e può inserire intestazioni o headers sovrascrivere il codice di stato. Se la funzione ritornabody: null, il gateway utilizza il corpo della risposta originale.

Configurazione degli intercettori durante la creazione del gateway

Gli esempi seguenti mostrano come creare un gateway con intercettori impostati su: passRequestHeaders true

Esempio
AgentCore CLI
  1. Con la AgentCore CLI, prima crea e distribuisci il gateway, quindi configura gli intercettori utilizzando la CLI o Python SDK (Boto3). AWS AWS

    Crea il gateway:

    agentcore add gateway \ --name my-gateway-with-headers \ --authorizer-type CUSTOM_JWT \ --discovery-url "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration" \ --allowed-audience "api.example.com" agentcore deploy

    Dopo la distribuzione, configura gli intercettori sul gateway utilizzando il update-gateway comando AWS CLI o AWS Python SDK (Boto3) come mostrato nelle altre schede.

AWS CLI
  1. Usa il seguente comando AWS CLI per creare un gateway con interceptor configurati per passare le intestazioni delle richieste:

    aws bedrock-agentcore-control create-gateway \ --name my-gateway-with-headers \ --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \ --protocol-type MCP \ --authorizer-type CUSTOM_JWT \ --authorizer-configuration '{ "customJWTAuthorizer": { "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration", "allowedClients": ["clientId"] } }' \ --interceptor-configurations '[{ "interceptor": { "lambda": { "arn":"arn:aws:lambda:us-west-2:123456789012:function:my-interceptor-lambda" } }, "interceptionPoints": ["REQUEST", "RESPONSE"], "inputConfiguration": { "passRequestHeaders": true } }]'
AWS Python SDK (Boto3)
  1. Usa il seguente codice Python con AWS Python SDK (Boto3) per creare un gateway con interceptor configurati per passare le intestazioni delle richieste:

    import boto3 # Initialize the AgentCore client client = boto3.client('bedrock-agentcore-control') # Create a gateway gateway = client.create_gateway( name="my-gateway-with-headers", roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role", protocolType="MCP", authorizerType="CUSTOM_JWT", authorizerConfiguration={ "customJWTAuthorizer": { "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration", "allowedClients": ["clientId"] } }, interceptorConfigurations=[{ "interceptor": { "lambda": { "arn":"arn:aws:lambda:us-west-2:123456789012:function:my-interceptor-lambda" } }, "interceptionPoints": ["REQUEST", "RESPONSE"], "inputConfiguration": { "passRequestHeaders": True } }] ) print(f"MCP Endpoint: {gateway['gatewayUrl']}")

Aggiornamento delle configurazioni degli interceptor

È possibile aggiornare le configurazioni esistenti degli intercettori del gateway per modificare le passRequestHeaders impostazioni o altri parametri utilizzando le operazioni dell'API di aggiornamento del gateway.