介绍 Amazon EventBridge Pipes 的日志支持 计算博客
Amazon EventBridge Pipes 增加日志支持
关键要点
AWS 今天宣布对 EventBridge Pipes 提供日志支持。EventBridge Pipes 是一种点对点集成解决方案,旨在连接事件生产者和消费方,同时可选择过滤、转换和增强步骤。这一功能不仅能减少开发者在构建事件驱动应用时需编写和维护的集成代码数量,还增强了调试和故障排除的能力。
日志支持的介绍
Amazon EventBridge Pipes 为事件执行的不同阶段提供了可视化的日志信息。这一功能扩展了 Amazon CloudWatch 指标支持,为您提供了更多故障排除和调试的方式。
现在,您可以深入了解管道执行步骤中的各种成功与失败场景。当事件的转换或增强成功或失败时,您可以利用日志进行更深入的分析,以启动对配置管道中任何问题的故障排除。
理解 EventBridge Pipes 执行步骤
了解管道的执行步骤能帮助您选择合适的日志级别,这将决定记录的信息量。
管道执行是指通过管道接收的事件或事件批次,这些事件从源头传递到目标。在事件通过管道时,可以使用 AWS Step Functions、AWS Lambda、Amazon API Gateway 和 EventBridge API Destinations 对事件进行过滤、转换或增强。
管道执行主要包括两个阶段:增强和目标。这两个阶段都包含了转换和调用步骤。
您可以使用 输入转换器,在事件经过增强或发送到下游目标之前,修改事件的有效负载,从而准确控制事件数据在配置管道执行过程中的处理。
当管道执行开始时,执行进入增强阶段。如果没有配置增强阶段,则执行将直接进入目标阶段。
配置 EventBridge Pipes 的日志级别
在为您的管道启用日志记录后,EventBridge 会为每一步执行生成日志条目,并将这些日志发送到指定的日志目的地。
EventBridge Pipes 支持三种日志目的地:Amazon CloudWatch Logs、Amazon Kinesis Data Firehose 以及 Amazon S3。发送的记录可以通过配置管道的日志级别OFF、ERROR、INFO、TRACE进行定制。
日志级别描述OFFEventBridge 不发送任何记录。ERROREventBridge 发送与管道执行中产生的错误相关的记录。INFOEventBridge 发送与错误和管道执行期间选择的信息相关的记录。TRACEEventBridge 发送在管道执行的任何步骤中生成的记录。ERROR 日志级别对于了解管道执行失败的原因特别有用。启用 ERROR 日志后,您可以更深入地了解特定的错误原因,从而更好地解决问题。
INFO 日志级别不仅能报告错误,还能提供关于管道执行开始、进入增强阶段、推进转换阶段及目标阶段启动和成功完成的信息。
对于更深入的分析,TRACE 日志级别可以获得更全面的管道执行信息,这涵盖了所有支持的管道日志,提供了超出 INFO 和 ERROR 日志的大量视角。
包含执行数据的 EventBridge Pipes 日志
为了进一步帮助调试,您可以选择在管道日志中包含执行数据。这些数据包括事件有效负载、AWS 请求和对配置的增强和目标组件的响应。
这可以帮助您在管道执行期间深入了解发送给 AWS 服务的有效负载、请求和响应。
执行数据包含三个部分:
有效负载:事件本身的内容,可能包含敏感信息,EventBridge 不会进行任何内容删除。包含执行数据是可选的,可以关闭。awsRequest:以序列化 JSON 格式发送到增强或目标的请求。对于 API 目的地,这包括发送到该端点的 HTTP 请求。awsResponse:以 JSON 格式返回的来自增强或目标的响应。有效负载数据在事件本身可以更新时进行填充。awsRequest 和 awsResponse 则在增强和目标的最终步骤生成。
开始使用 EventBridge Pipes 日志
以下示例创建一个启用了日志的管道,并将执行数据包含在内。该管道通过输入转换器连接两个 Amazon SQS 队列,没有增强步骤。输入转换器在事件到达目标之前定制事件的有效负载。
创建源队列和目标队列
一元机场登录bash
创建源队列
aws sqs createqueue queuename pipesource
创建目标队列
aws sqs createqueue queuename pipetarget
导航至 EventBridge Pipes 并选择 创建管道。
选择 SQS 作为 源,并将 pipesource 选为 SQS 队列。
跳过过滤和增强阶段,添加新的目标。选择 SQS 作为 目标服务,并将 pipetarget 选为 队列。
打开 目标输入转换器 部分并在 转换器 字段中输入转换器代码。
json{ body Favorite food is ltbodygt}
选择 管道设置 配置新管道的日志组。
验证 CloudWatch Logs 是否设置为日志目的地,并选择 Trace 作为日志级别。勾选“包含执行数据”复选框。

选择 创建管道。
向源队列发送一条 SQS 消息。
bash
获取队列URL
aws sqs getqueueurl queuename pipesource
使用 URL 向队列发送消息
aws sqs sendmessage queueurl {QUEUEURL} messagebody pizza
所有跟踪日志将在监控选项卡中显示,可使用 CloudWatch Logs 部分获取更多信息。
结论
EventBridge Pipes 实现了事件生产者和消费者之间的点对点集成。通过对 EventBridge Pipes 的日志支持,您可以深入了解管道执行的各个阶段。管道日志目的地可以配置为 CloudWatch Logs、Kinesis Data Firehose 和 Amazon S3。
EventBridge Pipes 支持三种日志级别。ERROR 日志级别配置 EventBridge 将与错误相关的记录发送到日志目的地。INFO 日志级别配置 EventBridge 将与错误和管道执行期间的选择信息相关的记录发送到目的地。TRACE 日志级别则将生成的所有记录发送到日志目的地,有助于调试并获得深入见解。
您可以在日志中包含执行数据,包括事件本身及对管道中配置的 AWS 服务所做的 AWS 请求和响应,这将帮助您更深入地理解管道执行的过程。要了解更多有关 EventBridge Pipes 日志 的信息,请查看文档。
有关更多无服务器学习资源,请访问 Serverless Land。
标签:serverless
Amazon Managed Service for Apache Flink 现已支持 Apach
Amazon托管的Apache Flink服务现已支持Apache Flink 118版关键要点Apache Flink 118版本的新增功能Amazon托管的Apache Flink服务现已支持最新的Apache Flink 1181版本,增强了流处理能力和新功能。在本文中,我们将探讨在Apach...