1

Ich habe den folgenden Code, den ich auf Lambda hochlade, und es gibt mir den Fehler: "errorMessage": "RequestId: bdfa695d-e8b8-11e6-952a-21bb5e95cff6 Der Vorgang wurde beendet, bevor die Anfrage abgeschlossen wurde ", obwohl ich diesen Code von einer perfekt funktionierenden Fähigkeit geändert habe. Der Code sagt einfach dem Benutzer hallo (mit einer Karte), und kann ihnen eine Frage stellen, wenn der Benutzer sagt, stellt mir eine Frage. Hier ist mein Code: `AWS Lambda gibt "Prozess beendet vor Abschluss der Anfrage"

var APP_ID=undefined; 

var Alexa = require('./AlexaSkill'); 

var Sample = function() { 
    AlexaSkill.call(this, APP_ID); 
}; 

var handlers = { 
    'LaunchRequest': function() { 

     this.emit(':ask', welcomeMessage, GetReprompt()); 
}, 
'Unhandled': function() { 
    this.emit(':ask', welcomeMessage, GetReprompt()); 
}, 

'AMAZON.HelpIntent': function() { 
    this.emit(':ask', HelpMessage, HelpMessage); 
}, 

'AMAZON.StopIntent': function() { 
    this.shouldEndSession = true; 
    this.emit(':tell', stopSkillMessage, stopSkillMessage); 
}, 

'AMAZON.CancelIntent': function() { 
    this.shouldEndSession = true; 
    this.emit(':tell', stopSkillMessage, stopSkillMessage); 
}, 

'SaySomethingIntent': function() { 

    var speechOutput= "Hello"; 
    var repromptOutput= "Say hello"; 
    var cardTitle="Hello. This is the card title."; 
    var overviewMessage="This is a card."; 
    this.askWithCard(speechOutput, repromptOutput, howToPlayCardTitle, overviewMessage); 
}, 

'AskIntent': function() { 

    var question="Hi there, what's your name?"; 
    this.askWithCard(question); 
} 
} 

exports.handler = function (event, context) { 

    var sample = new Sample(); 
    sample.execute(event, context); 
}; 

` Hilfe von jede Art, oder auch irgendwelche Tipps für mit aws arbeiten, würde sehr geschätzt werden. Vielen Dank.

+0

Können Sie einen Blick auf die Cloudwatch Logbücher für diese Lambda? Wenn es einen Fehler gibt, wird es normalerweise dort gedruckt. – spg

Antwort

4

Ihre Lambda-Funktion sollte an AWS zurückrufen, um Lambda zu informieren, dass alles erledigt ist.

In aktuellen Versionen der Lambda Nodejs-Laufzeit können Sie den 3. Parameter zu Ihrem Handler, callback aufrufen.

http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html

In früheren Versionen der NodeJS Laufzeit, oder wenn Ihr Handler den callback Parameter nicht nehmen, sollten Sie context.succeed() oder context.fail() aufrufen, bevor es austritt.

http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-using-old-runtime.html

Verwandte Themen