Ich versuchte Geschichte Bluff Beispiel Wikipedia-Service aufrufen. Ich habe den Anruf in die Ein-Start-Nachricht gestellt. Ich kann sehen, dass es meine Nachricht bis zu dem Punkt druckt, der den Anruf stmt trifft. aber dann druckt es nichts in der Konsole. der Code sieht aus wie folgt:Alexa Skill Webservice Anruf nicht
var https = require('https');
var urlPrefix = 'https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&explaintext=&exsectionformat=plain&redirects=&titles=';
HowTo.prototype.eventHandlers.onLaunch = function (launchRequest, session, response) {
console.log("vik::::::::::::: before service call ");
var speechText = "Welcome to the your assistant? ... what can I help you with.";
var repromptText = "For instructions on what you can say, say help me.";
response.ask(speechText, repromptText);
getJsonEventsFromWikipedia("day", "date", function (events) {
console.log("vik::::::::::::: wikipedia response received");
console.log("values are:" + events);
});
};
function getJsonEventsFromWikipedia(day, date, eventCallback) {
var url = urlPrefix+'Jan_21';
console.log("url to invoke is:" + url);
https.get(url, function(res) {
console.log("vik:::::::::::::::::::::inside data fetch");
var body = '';
res.on('data', function (chunk) {
body += chunk;
});
res.on('end', function() {
var stringResult = body;
eventCallback(stringResult);
});
}).on('error', function (e) {
console.log("Got error: ", e);
});
}
Die Konsole druckt wie
START RequestId: 0c6d7a9b-4fcd-11e6-84e8-6b679452fe6e Version: $LATEST
2016-07-22T05:27:58.039Z 0c6d7a9b-4fcd-11e6-84e8-6b679452fe6e session applicationId: amzn1.echo-sdk-ams.app.ef1f54cb-cabe-429b-b8a1-5a4090e5f937
2016-07-22T05:27:58.040Z 0c6d7a9b-4fcd-11e6-84e8-6b679452fe6e vik::::::::::::: before service call
2016-07-22T05:27:58.078Z 0c6d7a9b-4fcd-11e6-84e8-6b679452fe6e url to invoke is:https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&explaintext=&exsectionformat=plain&redirects=&titles=Jan_21
END RequestId: 0c6d7a9b-4fcd-11e6-84e8-6b679452fe6e
REPORT RequestId: 0c6d7a9b-4fcd-11e6-84e8-6b679452fe6e Duration: 398.63 ms Billed Duration: 400 ms Memory Size: 128 MB Max Memory Used: 17 MB
ich bin nicht sicher, was falsch ist und wie es zu debuggen
Der Aufruf ist asynchron und die Lambda-Funktion löst wahrscheinlich auf, bevor Daten zurückgeholt werden. Eine Sache, die ich versuchen würde, ist, die Lambda-Funktion irgendwo zu beenden, indem Daten mit der Callback-Funktion zurückgegeben werden. Ansonsten bin ich mir nicht sicher, wie sich Lambda verhalten wird, wenn es alleine beendet wird. http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html. – master565
Hier ist jemand erfolgreich zu tun, was Sie versuchen http://stackoverflow.com/questions/28449363/why-is-this-http-request-not-working-on-aws-lambda – master565
Ich verwende keinen Kontext überhaupt etwas tun. also nicht sicher, ob es relevant ist – Vik