Отправка http-запроса из консоли функции лямбда AWS с использованием Alexa в качестве входных данных. - PullRequest
0 голосов
/ 08 июня 2018

Alexa skill лямбда-функция пытается отправить http-запрос на локальный порт 8000

Я застрял на этом некоторое время и, что бы я ни пытался, Alexa всегда говоритсообщение об ошибке: «существует проблема с ответом запрошенного навыка.

Используемый мной формат запроса является стандартным для узла js, но по какой-то причине он не работает в консоли лямбда-функции AWS.

Могу по-настоящему использовать некоторую помощь (я не очень разбираюсь в кодировании узлов или js, раньше я действительно делал только python, извините, если сделал глупую ошибку)

Спасибо!

'use strict';
const Alexa = require('alexa-sdk');



const APP_ID = 'amzn1.ask.skill.4201f25c-5da7-4668-89ef-321896522bb8';

const SKILL_NAME = 'make request';
const INTRO = "we are going to try to make an H T M L request ";
const HELP_MESSAGE = 'sorry I just suck at getting data';
const GETTING_DATA = ' sorry I am dumb';
const HELP_REPROMPT = 'i am sad';
const STOP_MESSAGE = 'Goodbye!';


const handlers = {
    'LaunchRequest': function () {
        this.emit(':ask',INTRO);
    },

    'send_request': function () {
        const http = require("http");
        const PORT = 8000;

        const requestHandler = (req, res) => {
            res.write("trying to send a message")
            res.end("Hello from AWS Cloud9!")`enter code here`
        }

        const server = http.createServer(requestHandler);

        server.listen(PORT, (err) => {
            if (err) {
                console.log("Error occurred", err) ;
            }

        })
        this.emit(':tell', `Server is listening on ${PORT}`);

    },
    'AMAZON.HelpIntent': function () {
        const speechOutput = HELP_MESSAGE;
        const reprompt = HELP_REPROMPT;

        this.response.speak(speechOutput).listen(reprompt);
        this.emit(':responseReady');
    },
    'AMAZON.CancelIntent': function () {
        this.response.speak(STOP_MESSAGE);
        this.emit(':responseReady');
    },
    'AMAZON.StopIntent': function () {
        this.response.speak(STOP_MESSAGE);
        this.emit(':responseReady');
    },
};

exports.handler = function (event, context, callback) {
    const alexa = Alexa.handler(event, context, callback);
    alexa.APP_ID = APP_ID;
    alexa.registerHandlers(handlers);
    alexa.execute();
};
...