View a markdown version of this page

Konfigurasi - Batuan Dasar Amazon AgentCore

Konfigurasi

Pencegat dapat dikonfigurasi dengan parameter input yang disebut passRequestHeaders

Konfigurasi input pencegat

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.

Awas

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" }] } } }
catatan

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
  1. 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
  1. 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)
  1. 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.