Konfigurasi
Pencegat dapat dikonfigurasi dengan parameter input yang disebut passRequestHeaders
Saat mengonfigurasi pencegat, Anda dapat menentukan apakah header permintaan harus diteruskan ke fungsi pencegat menggunakan bidang: passRequestHeaders
- lulus RequestHeaders
-
Nilai boolean yang menentukan apakah header permintaan disertakan dalam payload input interceptor. Ketika diatur ketrue, semua header permintaan akan diteruskan ke fungsi Lambda pencegat Anda. Ketika diatur ke false (default), header tidak disertakan.
Berhati-hatilah saat menyetel ini true sebagai header permintaan mungkin berisi informasi sensitif seperti token otentikasi dan kredensional.
- Filter Payload
-
Untuk target HTTP (AgentCore Runtime dan passthrough) dan target inferensi, yang berbagi bentuk payload http pencegat, filter opsional yang mengecualikan bidang dari muatan input pencegat. Pemanggilan sinkron Lambda memiliki batas 6 MB untuk gabungan permintaan dan respons, jadi tidak termasuk badan respons yang besar membuat muatan tetap dalam batas itu. Untuk mengecualikan badan respons, atur payloadFilter.exclude ke daftar yang berisi RESPONSE_BODY bidang:
{
"inputConfiguration": {
"passRequestHeaders": false,
"payloadFilter": {
"exclude": [{ "field": "RESPONSE_BODY" }]
}
}
}
passRequestHeadersdiperlukan diinputConfiguration. Sertakan (misalnya,"passRequestHeaders": false) di sampingpayloadFilter.
Ketika badan respons dikecualikan, body bidang dalam muatan input pencegat respons adalah. null Fungsi Anda masih dapat memeriksa,, dan statusCode contentTypeheaders, dan dapat menyuntikkan header atau mengganti kode status. Jika fungsi Anda kembalibody: null, gateway menggunakan badan respons asli.
Mengkonfigurasi pencegat selama pembuatan gateway
Contoh berikut menunjukkan cara membuat gateway dengan pencegat yang telah passRequestHeaders disetel ke: true
contoh
- AgentCore CLI
-
-
Dengan AgentCore CLI, pertama buat dan terapkan gateway, lalu konfigurasikan pencegat menggunakan AWS CLI atau AWS Python SDK (Boto3).
Buat 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
Setelah penerapan, konfigurasikan pencegat pada gateway menggunakan AWS perintah CLI update-gateway atau AWS Python SDK (Boto3) seperti yang ditunjukkan pada tab lainnya.
- AWS CLI
-
-
Gunakan perintah AWS CLI berikut untuk membuat gateway dengan pencegat yang dikonfigurasi untuk meneruskan header permintaan:
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)
-
-
Gunakan kode Python berikut dengan AWS Python SDK (Boto3) untuk membuat gateway dengan pencegat yang dikonfigurasi untuk meneruskan header permintaan:
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']}")
Memperbarui konfigurasi pencegat
Anda dapat memperbarui konfigurasi pencegat gateway yang ada untuk mengubah passRequestHeaders setelan atau parameter lain menggunakan operasi API gateway pembaruan.