

# Konfigurasi
<a name="gateway-interceptors-configuration"></a>

Pencegat dapat dikonfigurasi dengan parameter input yang disebut `passRequestHeaders` 

## Konfigurasi input pencegat
<a name="gateway-interceptors-configuration-input"></a>

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 ke`true`, 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" }]
    }
  }
}
```
 `passRequestHeaders`diperlukan di`inputConfiguration`. Sertakan (misalnya,`"passRequestHeaders": false`) di samping`payloadFilter`.
Ketika badan respons dikecualikan, `body` bidang dalam muatan input pencegat respons adalah. `null` Fungsi Anda masih dapat memeriksa,, dan `statusCode` `contentType``headers`, dan dapat menyuntikkan header atau mengganti kode status. Jika fungsi Anda kembali`body: null`, gateway menggunakan badan respons asli.

## Mengkonfigurasi pencegat selama pembuatan gateway
<a name="gateway-interceptors-configuration-creation"></a>

Contoh berikut menunjukkan cara membuat gateway dengan pencegat yang telah `passRequestHeaders` disetel ke: `true`

**Example**  

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.

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
         }
     }]'
   ```

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
<a name="gateway-interceptors-configuration-update"></a>

Anda dapat memperbarui konfigurasi pencegat gateway yang ada untuk mengubah `passRequestHeaders` setelan atau parameter lain menggunakan operasi API gateway pembaruan.