как получить папку node_modules в лямбда-функции aws - PullRequest
0 голосов
/ 29 июня 2018

Итак, я учусь создавать навыки alexa, и я успешно создал два из них, выполнив следующие шаги, но по какой-то причине, когда я выполняю эти шаги, мне не хватает папки node_modules и package.json. Это вызывает следующую ошибку при тестировании моего навыка:

Невозможно импортировать модуль 'index': ошибка

The steps I am following are:
- go to the aws console select lambda
- select create new function
- blueprints -> select alexa-skill-kit-sdk-factskill -> configure
- select existing role ->  lambda_basic_execution
- create function

Насколько я понимаю, alexa-skill-kit-sdk-factskill пришел с этими зависимостями. Есть ли способ добавить их вручную, если да, то как? Я попытался найти консоль, но я не вижу, где это находится в рабочем пространстве лямбды.

Вот скриншоты проекта, в который он добавил папку и файл json enter image description here

Вот мой текущий проект enter image description here

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

У меня была эта проблема, но, к сожалению, консоль Lambda не дает нам консоли для установки зависимостей nodejs.

Итак, вам нужно развернуть свою лямбда-функцию. Есть много способов сделать это, но более популярными являются:

  1. Узел Лямбда-пакет (для узла)
  2. Создайте ZIP и разверните его в консоли (не рекомендуется из-за ограничения размера)
  3. AWS CLI

Когда вы изучаете навыки Alexa, я бы посоветовал вам, как Amazon предлагает разработчикам создавать и организовывать функции Alexa Skill и Lambda.

Использовать ASK CLI

Для создания нового Alexa Skill. Это создаст каталог, который будет иметь:

  1. Схема намерений навыка
  2. Лямбда-функция навыка
  3. Плюс, вы можете передать шаблон, чтобы создать навык для конкретного шаблона. Вот список шаблонов, созданных разработчиками Amazon.
  4. Например, команда для создания кода навыка, для навыка шаблона факта

     ask new [--template [template-name] [--url <url>]] 
     [-n|--skill-name <name>] 
     [-p| --profile <profile>] [--lambda-name <lambda-name>]
    

Использование ASK CLI даст вам преимущество одновременного развертывания вашего навыка и лямбды.

Я знаю, что ASK CLI можно быстро освоить, но как только вы освоите его, это очень полезный инструмент для разработчиков Alexa.

0 голосов
/ 29 июня 2018

Вы можете локально заархивировать содержимое каталога и загрузить его в лямбда. Но да, тогда вы не можете редактировать код в консоли.

Помните, что имя вашего файла обработчика должно быть упомянуто так же, как в разделе «Обработчик». Например, если ваше имя файла app.js then app.handler.

...