【问题标题】:how to get the node_modules folder in an aws lambda function如何在 aws lambda 函数中获取 node_modules 文件夹
【发布时间】:2018-12-08 01:29:33
【问题描述】:

所以我正在学习如何创建 alexa 技能,并且我已经按照以下步骤成功创建了两个,但是由于某种原因,当我现在按照这些步骤进行操作时,我缺少 node_modules 文件夹和 package.json。当我测试我的技能时,这会导致以下错误:

无法导入模块“索引”:错误

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 带有这些依赖项。如果可以的话,有没有办法手动添加它们?我试图找到一个控制台,但我没有看到它在 lambda 工作区中的位置。

这是添加文件夹和 json 文件的项目的屏幕截图

这是我目前的项目

【问题讨论】:

    标签: aws-lambda node-modules alexa-skills-kit


    【解决方案1】:

    我遇到过这个问题,但是很遗憾,Lambda 控制台没有给我们控制台来安装 nodejs 依赖项。

    因此,您必须实际部署您的 lambda 函数。有很多方法可以做到这一点,但更流行的是:

    1. Node Lambda package(用于节点)
    2. 创建 ZIP 并将其部署在控制台中(由于大小限制,不推荐)
    3. AWS CLI

    在您学习 Alexa Skills 时,我建议您按照 Amazon 建议开发人员创建和组织 Alexa Skill 和 Lambda 函数的方式。

    使用 ASK CLI

    用于创建new Alexa Skill。 这将创建一个目录,其中包含:

    1. 技能的意图架构
    2. 技能的 lambda 函数
    3. 另外,您可以传递模板来为特定模板创建技能。 Here is list Amazon 开发人员创建的模板。
    4. 例如,用于创建技能代码的命令,用于事实模板技能

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

    使用 ASK CLI,将为您提供同时部署技能和 lambda 的优势。

    我知道 ASK CLI 有很多东西可以这么快地接受,但是一旦你掌握了它,它对 Alexa 开发人员来说是一个非常有用的工具。

    【讨论】:

      【解决方案2】:

      您可以在本地压缩整个目录内容并将压缩文件上传到 拉姆达。但是是的,你不能在控制台中编辑代码。

      请记住,您的处理程序文件名必须在处理程序部分中提及。 比如你的文件名是app.js then app.handler

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-04
        • 1970-01-01
        • 2018-08-28
        • 1970-01-01
        • 2022-01-27
        • 2021-06-29
        • 2017-02-15
        相关资源
        最近更新 更多