将 Lambda 与 CloudWatch Logs 结合使用 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Lambda 与 CloudWatch Logs 结合使用

您可以使用 Lambda 函数监视和分析来自 Amazon CloudWatch Logs 日志流的日志。为一个或多个日志流创建订阅,以在创建日志时调用函数或匹配可选模式。使用函数发送通知或将日志保存到数据库或存储。

CloudWatch Logs 通过包含日志数据的事件异步调用您的函数。数据字段的值是 Base64 编码的 .gzip 文件存档。

例 CloudWatch Logs 消息事件
{ "awslogs": { "data": "ewogICAgIm1lc3NhZ2VUeXBlIjogIkRBVEFfTUVTU0FHRSIsCiAgICAib3duZXIiOiAiMTIzNDU2Nzg5MDEyIiwKICAgICJsb2dHcm91cCI6I..." } }

在解码和解压缩后,日志数据为具有以下结构的 JSON 文档。

例 CloudWatch Logs 消息数据(已解码)
{ "messageType": "DATA_MESSAGE", "owner": "123456789012", "logGroup": "/aws/lambda/echo-nodejs", "logStream": "2019/03/13/[$LATEST]94fa867e5374431291a7fc14e2f56ae7", "subscriptionFilters": [ "LambdaStream_cloudwatchlogs-node" ], "logEvents": [ { "id": "34622316099697884706540976068822859012661220141643892546", "timestamp": 1552518348220, "message": "REPORT RequestId: 6234bffe-149a-b642-81ff-2e8e376d8aff\tDuration: 46.84 ms\tBilled Duration: 47 ms \tMemory Size: 192 MB\tMax Memory Used: 72 MB\t\n" } ] }