Проблема с модулями узла Alexa и Lambda - PullRequest
0 голосов
/ 20 июня 2020

У меня есть очередь в CloudRabbitMQ, так что с кодом javascript я могу отправить туда экземпляр. Это код:

var amqp = require('amqplib/callback_api');

function send(answer){
    // TODO: Log the answer in a database
    console.log(`El color enviado ha sido: ${answer}`);


    //Conectamos con el servidor de RabbitMQ
    amqp.connect('ID OF THE CLOUDRABBITMQ' + '?heartbeat=60', function(error0, connection) {
        if (error0) {
            console.log("Fallo al conectar con CloudRabbitMQ")
            throw (error0);
        }

        console.log("¡La conexión con CloudRabbitMQ ha sido correcta!")

        //Creamos un canal de comunicación 
        connection.createChannel(function(error1, channel) {
            if (error1) {
                throw (error1)
            }

            var queue = 'PiezasTetris';
            var msg = answer;

            channel.sendToQueue(queue, Buffer.from(msg));
            console.log(" [x] Sent %s", msg);
        })

        //Cerramos la conexion
        setTimeout(function() {
            connection.close();
            process.exit(0)
        }, 500);
    });

};

Код работает хорошо, но проблема в том, что я хочу, чтобы эта функция отправляла цвет в очередь с вызовом Alexa. Так, например, «Алекса, отправь синий цвет»: Алекса вызовет

отправить («синий»)

Проблема в том, что модуль CloudRabbitMQ ('amqplib'), который я использую, не может быть введен в код Alexa. На некоторых страницах говорится, что решение состоит в использовании лямбда-функций, но я не знаю, как реализовать лямбда-функцию, которая будет вызываться, когда Алекса хочет отправить объект:

Алекса хочет отправить «Синий» - > («Синий») в лямбда-функцию -> Лямбда-функция вызывает send («Синий»)

Итак, теперь я не знаю, как создать лямбда-функцию, которая будет вызываться, когда Alexa Намерение получает цвет от пользователя, а затем лямбда-функция вызовет функцию «send ()».

Пожалуйста, я очень новичок в AWS Lambda, так что если бы вы могли объяснить мне самую простую и простую версию из этого, я был бы признателен ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...