Я использую поток фильтров подписки журнала CloudWatch в Lambda и публикую сообщение в теме SNS.Но он выведет искаженное сообщение и не сможет успешно расшифровать.
мой вывод:
k
%"
jVbB
Если не декодировать, будет выведено так:
{ "awslogs": {"data": "BASE64ENCODED_GZIP_COMPRESSED_DATA"} }
Мой кодниже и использует 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);
};