小编Kel*_*vin的帖子

AWS CloudWatch日志订阅过滤器解码

我正在使用CloudWatch日志订阅筛选器流到Lambda并将消息发布到SNS主题。但是它将输出乱码消息,并且无法成功解码。

我的输出:

k
%"
 jVbB
Run Code Online (Sandbox Code Playgroud)

如果不解码,将输出以下内容:

{ "awslogs": {"data": "BASE64ENCODED_GZIP_COMPRESSED_DATA"} }
Run Code Online (Sandbox Code Playgroud)

我的代码在下面,它使用的是nodejs:

console.log("Loading function");
var AWS = require("aws-sdk");

exports.handler = function(event, context) {
    var eventText = JSON.stringify(event, null, 2);
    var decodeText = new Buffer(eventText, 'base64').toString('ascii');
    console.log("Received event:", eventText);
    var sns = new AWS.SNS();
    var params = {
        Message: decodeText, 
        Subject: "Test SNS From Lambda",
        TopicArn: "arn:aws:sns:region:account:snsTopic"
    };
    sns.publish(params, context.done);
};
Run Code Online (Sandbox Code Playgroud)

decode node.js amazon-sns aws-lambda amazon-cloudwatchlogs

4
推荐指数
1
解决办法
1164
查看次数