2017-11-17 4 views
0

私はもっと単純なことをしようとしています...少なくとも私はそれが単純になると思っていました。Alexaのシンプルラムダ

私はAlexaがラムダを使用して、最初から作成します。私は日付に応じて特定の行動を設定できるようにしたい。私は12月24日から始めましたが、それはむしろ簡単です。私はそれが12月24日であるか2100年以降であると言うコードを設定しようとしています。

exports.handler = (event, context, callback) => { 
// TODO implement 
var dateTime = new Date(); 
var day = dateTime.getDate(); 
var mon = dateTime.getMonth(); 
var hour = dateTime.getHour(); 
var answer = ""; 

if(day == 24 && month == 11 && hour >= 20) { 
    answer = 'working'; 
    console.log(answer); 
} else { 
    answer = 'not working'; 
    console.log(answer); 
} 

callback(answer, 'Hello from Lambda'); 
}; 

私はノードの専門家ではないと笑万人のテストを実行したいが、私はこのエラーを取得していない:

{ "にErrorMessage":「RequestId:ff577333-cb51-11e7 -8d87-6d7ffdfe6f08リクエストが完了する前にプロセスが終了しました。 " "

コードが間違っていますか、何か不足していますか?ここで私が使用して考えた別のバージョンです:

{ 
    "key3": "11, 9, 21", 
    "key2": "12, 24, 22", 
    "key1": "5, 5, 5" 
    } 

を多分私がテストする間違った方法を使用しています:

exports.handler = (event, context, callback) => { 
// TODO implement 
var dateTime = new Date(); 
var day = dateTime.getDate(); 
var mon = dateTime.getMonth(); 
var hour = dateTime.getHour(); 
var answer = ""; 

if(month == 11) { 
    if(day == 24) { 
     if(hour >= 20) { 
      answer = 'working'; 
    console.log(answer); 
     } 
    } 
} else { 
    answer = 'not working'; 
    console.log(answer); 
} 

callback(answer, 'Hello from Lambda'); 
}; 

は、これは私が使用している私のテストイベントです。いくつかの指導のために願っています。

ありがとうございます。

+0

あなたの 'callback'では、最初の引数は' error'、2番目の引数は 'response'です。エラーとして解釈されている最初の引数に応答を送ります。 –

答えて

0

あなたの応答の形式は、Alexaスキルでは機能しません。また、@ TomG103がコメントで述べたように、コールバックの最初の引数はnullにする必要があります。

シンプルなアレクサのスキルを作成する方法を示すビデオを作成しました。これは、あなたがやろうとしていることに適応しやすいはずです。

ここに動画へのリンクがあります。 https://youtu.be/UlEhXDOIPvU

私はそれが役に立ちそうです。