首页 > 解决方案 > 重播发送到 Lambda 的 Cloudwatch 日志

问题描述

我有一个订阅了许多 cloudwatch 日志组的 lambda,用于处理/索引/分析这些日志。

一切正常,但我想用这个 lambda 重播大量旧日志。我试图通过aws logs get-log-eventsCLI 获取日志来做到这一点,但由于数据的结构方式,我找不到一种简单的方法来做到这一点。

首先,使用 json 中的编码/gzip blob 调用 lambda,{"awslogs": {"data": "H4sIAAAAAAA ....我可以轻松管理它,但 blob 本身应该以这种方式构造:

{
    "messageType": "DATA_MESSAGE",
    "owner": "...",
    "logGroup": "/aws/lambda/...",
    "logStream": "2019/08/02/[$LATEST]...",
    "subscriptionFilters": [
        "..."
    ],
    "logEvents": [
        {
            "id": "34402224585553617062605662326569493632889831387406598144",
            "timestamp": 1564703999832,
            "message": "..."
        },
        ...

的输出aws logs get-log-events远不及这个结构。我可以尝试自己重建它,但这会很乏味。并且缺少一些字段(例如。logEvents.id

我是否错过了将日志重播到我的 lambda 的其他更简单的方法?

标签: amazon-web-servicesaws-lambdaaws-cliamazon-cloudwatchamazon-cloudwatchlogs

解决方案


推荐阅读