0
AWS Lambdaでコードを呼び出そうとしています。このラムダコードは私のIOTボタンで設定されています。このコードを実行すると、エラーは表示されません。また、携帯端末で必要なプッシュ通知が表示されません。MissingRequiredParameter:必須のキーが見つかりませんパラメータ 'Message'
私は私のコンソールでこのメッセージを見ることができます:MissingRequiredParameterを:行方不明に必要なキー「メッセージ」のparams
でこれが私のコードです:
'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!');
});
}
誰かが私はこのエラーをデバッグすることはできますか?
'console.log(randomMessage);'。ここに示すコードだけに基づいて、変数が未定義になるようです。 –
うん。知っている。 AndroidとiOSのアプリにメッセージを送信するためにIOTボタン機能を起動する必要があります。私のコードで変更する必要があるものはありますか? – Ashish
はい、その場合は未定義の変数を修正してください。 –