You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python CDK为Bedrock Agent开启CloudWatch或S3日志?

Python CDK配置Bedrock Agent日志(CloudWatch/S3)的实现方法

不需要依赖自定义资源,当前AWS CDK的aws-bedrock模块已经原生支持为Bedrock Agent配置CloudWatch或S3日志功能,只要使用足够新版本的CDK(建议2.100.0及以上)即可直接实现。

配置CloudWatch日志

首先创建CloudWatch日志组,然后在Agent配置中关联该日志组并指定日志级别:

from aws_cdk import (
    aws_cloudwatch_logs as logs,
    aws_bedrock as bedrock,
    Stack,
    RemovalPolicy,
)
from constructs import Construct

class BedrockAgentLogStack(Stack):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        # 创建CloudWatch日志组
        agent_log_group = logs.LogGroup(
            self, "BedrockAgentCWLogGroup",
            log_group_name="/aws/bedrock/agents/my-agent-logs",
            removal_policy=RemovalPolicy.DESTROY
        )

        # 创建Bedrock Agent并配置CloudWatch日志
        bedrock.Agent(self, "MyBedrockAgent",
            agent_name="MyAgent",
            foundation_model=bedrock.FoundationModel.from_foundation_model_id(
                self, "Claude3Sonnet", bedrock.FoundationModelId.ANTHROPIC_CLAUDE_3_SONNET
            ),
            agent_configuration=bedrock.AgentConfiguration(
                logging_config=bedrock.LoggingConfig(
                    cloudwatch_log_group=agent_log_group,
                    level=bedrock.LogLevel.INFO
                )
            )
        )

配置S3日志

创建用于存储日志的S3桶(建议开启加密、自动清理等配置),然后在Agent日志配置中指定S3存储位置:

from aws_cdk import (
    aws_s3 as s3,
    aws_bedrock as bedrock,
    Stack,
    RemovalPolicy,
)
from constructs import Construct

class BedrockAgentLogStack(Stack):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        # 创建日志存储S3桶
        agent_log_bucket = s3.Bucket(
            self, "BedrockAgentS3LogBucket",
            bucket_name="my-bedrock-agent-log-bucket",
            removal_policy=RemovalPolicy.DESTROY,
            auto_delete_objects=True,
            encryption=s3.BucketEncryption.S3_MANAGED
        )

        # 创建Bedrock Agent并配置S3日志
        bedrock.Agent(self, "MyBedrockAgent",
            agent_name="MyAgent",
            foundation_model=bedrock.FoundationModel.from_foundation_model_id(
                self, "Claude3Sonnet", bedrock.FoundationModelId.ANTHROPIC_CLAUDE_3_SONNET
            ),
            agent_configuration=bedrock.AgentConfiguration(
                logging_config=bedrock.LoggingConfig(
                    s3_log_destination=bedrock.S3LogDestination(
                        bucket=agent_log_bucket,
                        prefix="agent-execution-logs/"
                    ),
                    level=bedrock.LogLevel.DEBUG
                )
            )
        )

额外说明

  • 日志级别支持DEBUG、INFO、ERROR三种,可根据需求选择
  • 可以同时配置CloudWatch和S3日志,只需在LoggingConfig中同时传入两个参数即可
  • 若使用旧版本CDK找不到相关API,请先升级CDK版本

内容的提问来源于stack exchange,提问作者Naxi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:37:42