구성
라는 입력 파라미터로 인터셉터를 구성할 수 있습니다. passRequestHeaders
인터셉터를 구성할 때 passRequestHeaders 필드를 사용하여 요청 헤더를 인터셉터 함수로 전달할지 여부를 지정할 수 있습니다.
- passRequestHeaders
-
요청 헤더가 인터셉터 입력 페이로드에 포함되는지 여부를 결정하는 부울 값입니다. 로 설정하면 true 모든 요청 헤더가 인터셉터 Lambda 함수로 전달됩니다. false (기본값)으로 설정하면 헤더가 포함되지 않습니다.
요청 헤더에는 인증 토큰 및 자격 증명과 같은 민감한 정보가 포함될 수 true 있으므로 이를 로 설정할 때는 주의해야 합니다.
- payloadFilter
-
http 인터셉터 페이로드 셰이프를 공유하는 HTTP 대상(AgentCore 런타임 및 패스스루) 및 추론 대상의 경우 인터셉터 입력 페이로드에서 필드를 제외하는 선택적 필터입니다. Lambda 동기 호출에는 요청과 응답을 합친 한도가 6MB이므로 큰 응답 본문을 제외하면 페이로드가 해당 한도 내에 유지됩니다. 응답 본문을 제외하려면를 RESPONSE_BODY 필드가 포함된 목록payloadFilter.exclude으로 설정합니다.
{
"inputConfiguration": {
"passRequestHeaders": false,
"payloadFilter": {
"exclude": [{ "field": "RESPONSE_BODY" }]
}
}
}
passRequestHeaders는에 필요합니다inputConfiguration. 와 함께 포함시킵니다(예: "passRequestHeaders": false). payloadFilter
응답 본문이 제외되면 응답 인터셉터 입력 페이로드의 body 필드는 입니다null. 함수는 여전히 statusCode, contentType및를 검사할 수 headers있으며 헤더를 주입하거나 상태 코드를 재정의할 수 있습니다. 함수가 body: null를 반환하면 게이트웨이는 원래 응답 본문을 사용합니다.
게이트웨이 생성 중 인터셉터 구성
다음 예제에서는가 true 로 passRequestHeaders 설정된 인터셉터를 사용하여 게이트웨이를 생성하는 방법을 보여줍니다.
예
- AgentCore CLI
-
-
AgentCore CLI를 사용하여 먼저 게이트웨이를 생성 및 배포한 다음 AWS CLI 또는 AWS Python SDK(Boto3)를 사용하여 인터셉터를 구성합니다.
게이트웨이를 생성합니다.
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
배포 후 다른 탭과 같이 AWS CLI update-gateway 명령 또는 AWS Python SDK(Boto3)를 사용하여 게이트웨이에서 인터셉터를 구성합니다.
- AWS CLI
-
-
다음 AWS CLI 명령을 사용하여 요청 헤더를 전달하도록 구성된 인터셉터가 있는 게이트웨이를 생성합니다.
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)
-
-
Python SDK(Boto3)와 함께 다음 AWS Python 코드를 사용하여 요청 헤더를 전달하도록 구성된 인터셉터가 있는 게이트웨이를 생성합니다.
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']}")
인터셉터 구성 업데이트
업데이트 게이트웨이 API 작업을 사용하여 기존 게이트웨이 인터셉터 구성을 업데이트하여 passRequestHeaders 설정 또는 기타 파라미터를 수정할 수 있습니다.