View a markdown version of this page

Konfigurasi - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasi

Interceptor 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 muatan input pencegat. Ketika disetel ketrue, semua header permintaan akan diteruskan ke fungsi Lambda pencegat Anda. Ketika disetel ke false (default), header tidak disertakan.

Awas

Berhati-hatilah saat menyetel ini true karena header permintaan mungkin berisi informasi sensitif seperti token otentikasi dan kredenSIAL.

Filter muatan

Untuk target HTTP (AgentCore Runtime dan passthrough) dan target inferensi, yang berbagi bentuk muatan penc http egat, filter opsional yang mengecualikan bidang dari muatan input pencegat. Pemanggilan sinkron Lambda memiliki batas 6 MB untuk gabungan permintaan dan respons, jadi mengecualikan 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 memeriksastatusCode,, dan 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 disetel passRequestHeaders ke: true

contoh
AgentCore CLI
  1. Dengan AgentCore CLI, pertama buat dan gunakan 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 update-gateway perintah AWS CLI 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 memodifikasi passRequestHeaders pengaturan atau parameter lainnya menggunakan operasi API gateway pembaruan.