如何解决提取AWS Lambda函数的事件变量数据
我有一个AWS Lambda函数,该函数通过带有Node.js 10.x运行时的SNS发送电子邮件。事件对象包含一个名为client_id的变量,它对应于IoT Core服务中的Raspberry Pi设备ID。我在Cloudwatch日志中看到了Lambda函数的以下内容:
console.log(“事件:\ n” + JSON.stringify(event,null,2));
2020-09-05T00:21:35.587Z 229b8110-852a-4abe-8b9c-4d06a121d63f信息事件: { “ client_id”:“ RaspberryPi001” }
我需要从事件中提取client_id并将其包含在电子邮件的消息文本中,以便指定发出警报的设备。如何提取client_id并将其包含在电子邮件消息文本中?
'use strict';
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-west-2'});
exports.handler = async (event,context,callback) => {
// Create publish parameters
var params = {
Message: `The air quality in your building has triggered a High Risk Alert.`,Subject: `Air Quality - High Risk Alert`,TopicArn: `arn:aws:sns:us-west-2:xyz`,};
// Create promise and SNS service object
var publishTextPromise = new AWS.SNS({apiVersion: '2010-03-31'}).publish(params).promise();
// Handle promise's fulfilled/rejected states
publishTextPromise.then(
function(data) {
console.log("Message: " + params.Message);
console.log("Sent to the topic: " + params.TopicArn);
console.log("MessageID is " + data.MessageId);
console.log("EVENT: \n" + JSON.stringify(event,null,2));
}).catch(
function(err) {
console.error(err,err.stack);
});
const data = await publishTextPromise;
return data;
};
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。