lambda 는 블루프린트를 사용하여 다음과 같은 node JS 코드로 구성되어있다.

const zlib = require('zlib');

exports.handler = async (event, context) => {
    const payload = Buffer.from(event.awslogs.data, 'base64');
    const parsed = JSON.parse(zlib.gunzipSync(payload).toString('utf8'));
    console.log('Decoded payload:', JSON.stringify(parsed));
    return `Successfully processed ${parsed.logEvents.length} log events.`;
};

코드를 보아하니 log를 받아서 JSON으로 바꾼다.

이것을 활용하여 충분히 C 애플리케이션으로 전달할 수 있으리라 생각한다.

테스트로그를 찍어보니 다음과 같이 나온다.

2022-07-13T14:55:07.015Z	822f2f02-2dd1-4b64-8648-f78f8e3572a3	INFO	Decoded payload: {
    "messageType": "DATA_MESSAGE",
    "owner": "123456789123",
    "logGroup": "testLogGroup",
    "logStream": "testLogStream",
    "subscriptionFilters": [
        "testFilter"
    ],
    "logEvents": [
        {
            "id": "eventId1",
            "timestamp": 1440442987000,
            "message": "[ERROR] First test message"
        },
        {
            "id": "eventId2",
            "timestamp": 1440442987001,
            "message": "[ERROR] Second test message"
        }
    ]
}