Amazon web services MissingRequiredParameter:参数中缺少必需的键“Message”
我正在尝试调用AWS Lambda中的代码。此Lambda代码已使用“我的物联网”按钮配置。在运行这段代码时,我没有看到任何错误。此外,我在移动设备上看不到所需的推送通知 我可以在控制台中看到此消息:MissingRequiredParameter:在参数中缺少必需的键“message” 这是我的代码:Amazon web services MissingRequiredParameter:参数中缺少必需的键“Message”,amazon-web-services,aws-lambda,aws-iot,Amazon Web Services,Aws Lambda,Aws Iot,我正在尝试调用AWS Lambda中的代码。此Lambda代码已使用“我的物联网”按钮配置。在运行这段代码时,我没有看到任何错误。此外,我在移动设备上看不到所需的推送通知 我可以在控制台中看到此消息:MissingRequiredParameter:在参数中缺少必需的键“message” 这是我的代码: 'use strict'; console.log('Loading function'); var AWS = require('aws-sdk'); var sns = new
'use strict';
console.log('Loading function');
var AWS = require('aws-sdk');
var sns = new AWS.SNS();
AWS.config.region = 'xxxxx';
const TopicArn = 'xxxxxxxxxxxxxxxxxxxxxxxxxx'
exports.handler = function(event, context) {
console.log("\n\nLoading handler\n\n");
console.log('Received event:', event);
const sin =
{
"default": "Start",
"APNS_SANDBOX":"{\"aps\":{\"alert\":\"Start\"}}",
"GCM": "{ \"notification\": { \"text\": \"Start\" } }"
} // for single click
const doub = {
"default": "Stop",
"APNS_SANDBOX":"{\"aps\":{\"alert\":\"Stop\"}}",
"GCM": "{ \"notification\": { \"text\": \"Stop\" } }"
} // for double click
const lon = {
"default": "SOS",
"APNS_SANDBOX":"{\"aps\":{\"alert\":\"SOS\"}}",
"GCM": "{ \"notification\": { \"text\": \"SOS\" } }"
} // for long click
var singleClick = sin[Math.floor(Math.random()*sin.length)];
var doubleClick = doub[Math.floor(Math.random()*doub.length)];
var longClick = lon[Math.floor(Math.random()*lon.length)];
var randomMessage = singleClick;
if(event.clickType == "DOUBLE")
{
randomMessage = doubleClick;
}
if(event.clickType == "LONG")
{
randomMessage = longClick;
}
sns.publish ({
Message: randomMessage,
TopicArn: TopicArn
},
function(err, data) {
if (err) {
console.log(err.stack);
return;
}
console.log('push sent');
console.log(data);
context.done(null, 'Function Finished!');
});
}
有人能帮我调试这个错误吗?我找到了答案。我还必须使用stringify命令将变量定义为字符串,否则无法发送JSON格式的消息 我找到了答案。我还必须使用stringify命令将变量定义为字符串,否则无法发送JSON格式的消息 console.lograndomMessage;。看起来变量是未定义的,只基于这里显示的代码。是的。我知道。我需要触发IOT按钮功能,在Android和iOS中向我的应用程序发送消息。我需要在代码中修改什么吗?是的,如果是这种情况,请修复未定义的变量。console.lograndomMessage;。看起来变量是未定义的,只基于这里显示的代码。是的。我知道。我需要触发IOT按钮功能,在Android和iOS中向我的应用程序发送消息。我的代码中有什么需要修改的吗?是的,如果是这样的话,请修复未定义的变量。