View a markdown version of this page

設定 - Amazon Bedrock AgentCore

設定

インターセプターは、 という名前の入力パラメータで設定できます。 passRequestHeaders

インターセプター入力設定

インターセプターを設定するときは、 passRequestHeadersフィールドを使用して、リクエストヘッダーをインターセプター関数に渡すかどうかを指定できます。

passRequestHeaders

インターセプター入力ペイロードにリクエストヘッダーを含めるかどうかを決定するブール値。に設定するとtrue、すべてのリクエストヘッダーがインターセプタ Lambda 関数に渡されます。(falseデフォルト) に設定すると、ヘッダーは含まれません。

警告

true リクエストヘッダーには認証トークンや認証情報などの機密情報が含まれている可能性があるため、これを に設定するときは注意が必要です。

payloadFilter

http インターセプターペイロードシェイプを共有する HTTP ターゲット (AgentCore ランタイムとパススルー) と推論ターゲットの場合、インターセプター入力ペイロードからフィールドを除外するオプションのフィルター。Lambda 同期呼び出しには、リクエストとレスポンスの組み合わせに 6 MB の制限があるため、大きなレスポンス本文を除外すると、ペイロードはその制限内に保持されます。レスポンス本文を除外するには、 payloadFilter.excludeRESPONSE_BODYフィールドを含むリストに設定します。

{ "inputConfiguration": { "passRequestHeaders": false, "payloadFilter": { "exclude": [{ "field": "RESPONSE_BODY" }] } } }
注記

passRequestHeaders は で必要ですinputConfiguration。と一緒に含めます (例: "passRequestHeaders": false)payloadFilter

レスポンス本文を除外すると、レスポンスインターセプター入力ペイロードの bodyフィールドは になりますnull。関数は引き続き statusCodecontentType、および を検査しheaders、ヘッダーを挿入したり、ステータスコードを上書きしたりできます。関数が を返す場合body: null、ゲートウェイは元のレスポンス本文を使用します。

ゲートウェイ作成時のインターセプターの設定

次の例は、 が true passRequestHeadersに設定されているインターセプターを使用してゲートウェイを作成する方法を示しています。

AgentCore CLI
  1. AgentCore CLI では、まずゲートウェイを作成してデプロイし、次に AWS CLI または Python SDK (Boto3) AWS を使用してインターセプターを設定します。

    ゲートウェイを作成します。

    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

    デプロイ後、他のタブに示すように、CLI update-gateway コマンドまたは AWS Python SDK (Boto3) AWS を使用してゲートウェイでインターセプターを設定します。

AWS CLI
  1. 次の 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)
  1. 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設定やその他のパラメータを変更できます。