Lambda 代码适用于 Node v8.10,但不适用于 Nodejs v10.x

2023-12-14

我正在学习 lambda 课程,该课程是使用 v8.10 完成的。我正在尝试使用nodejs v10.x,因为这是我将来想在我的项目中使用的。

我不明白为什么“const uuid = require('uuid');” line 仅在 nodejs v10 中抛出导入错误,但在 v8.10 中代码运行得很好。

Code:

const aws = require('aws-sdk');
const s3 = new aws.S3();
const uuid = require('uuid');

exports.handler = async (event) => {
    console.log("Get the event to our S3POC class - " + JSON.stringify(event));

    const newUUID = uuid.v4();

    console.log("The file name is:" + newUUID);

    //put our sentence into the s3 bucket
    return s3.putObject({
        Bucket: "helloworld-s3.arkhadbot.com",
        Key: "test" + ".json"
    });
};

Error

Response:
{
  "errorType": "Runtime.ImportModuleError",
  "errorMessage": "Error: Cannot find module 'uuid'",
  "trace": [
    "Runtime.ImportModuleError: Error: Cannot find module 'uuid'",
    "    at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
    "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
    "    at Object.<anonymous> (/var/runtime/index.js:45:30)",
    "    at Module._compile (internal/modules/cjs/loader.js:778:30)",
    "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)",
    "    at Module.load (internal/modules/cjs/loader.js:653:32)",
    "    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)",
    "    at Function.Module._load (internal/modules/cjs/loader.js:585:3)",
    "    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)",
    "    at startup (internal/bootstrap/node.js:283:19)"
  ]
}

Request ID:
"e9c300ff-d12e-47b9-a45a-996a1f78b5f5"

Function Logs:
START RequestId: e9c300ff-d12e-47b9-a45a-996a1f78b5f5 Version: $LATEST
2019-09-12T12:18:34.743Z    undefined   ERROR   Uncaught Exception  {"errorType":"Runtime.ImportModuleError","errorMessage":"Error: Cannot find module 'uuid'","stack":["Runtime.ImportModuleError: Error: Cannot find module 'uuid'","    at _loadUserApp (/var/runtime/UserFunction.js:100:13)","    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)","    at Object.<anonymous> (/var/runtime/index.js:45:30)","    at Module._compile (internal/modules/cjs/loader.js:778:30)","    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)","    at Module.load (internal/modules/cjs/loader.js:653:32)","    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)","    at Function.Module._load (internal/modules/cjs/loader.js:585:3)","    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)","    at startup (internal/bootstrap/node.js:283:19)"]}
END RequestId: e9c300ff-d12e-47b9-a45a-996a1f78b5f5
REPORT RequestId: e9c300ff-d12e-47b9-a45a-996a1f78b5f5  Duration: 5098.92 ms    Billed Duration: 5100 ms    Memory Size: 128 MB Max Memory Used: 36 MB  
XRAY TraceId: 1-5d7a3795-41360f9ed871797c8ff32c3e   SegmentId: 4f526b023d16ac66 Sampled: false  
Unknown application error occurred
Runtime.ImportModuleError

根据已接受的答案,现在要求 lambda 不能直接获得第三方支持。 (因为 Node 8 版本现在已被弃用,但可能仍然被接受)。

const aws = require('aws-sdk');
const s3 = new aws.S3();
// const uuid = require('uuid'); comment this out

exports.handler = async (event, context) => {
    console.log("Get the event to our S3POC class - " + JSON.stringify(event));

    // const newUUID = context.awsRequestId();
    const newUUID = context.awsRequestId;

    console.log("The file name is:" + newUUID);

    //put our sentence into the s3 bucket
    return s3.putObject({
        Bucket: "helloworld-s3.arkhadbot.com",
        Key: "test" + ".json"
    });
};

AWS 请求 ID 可能如下所示: requestId: 'daf9dc5e-1628-4437-9e2d-2998efaa73b4'

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Lambda 代码适用于 Node v8.10,但不适用于 Nodejs v10.x 的相关文章

随机推荐

  • 将 EC2 安全组限制为 Elastic Beanstalk 实例

    我将 MongoDB 部署在 EC2 实例中 良好且稳定 我 希望 很快就会使用 Docker 启动我的 Elastic Beanstalk 负载平衡 Web 应用程序 但是 我觉得我的数据库对 dockerize 或 bestalk iz
  • 将 WPF 控件的大小调整为精确的百分比

    在 WPF 中 我想将控件宽度设置为父控件的 97 ActualWidth财产 我怎样才能做到这一点 您可以使用网格面板 例如
  • PHP 简单 HTML DOM 解析器

    我刚开始使用PHP 简单 HTML DOM 解析器 现在我试图提取所有被 a 包围的元素 b 标签包括 b 来自现有的 HTML 文档 这适用于 foreach html gt find b as q echo q 我怎样才能实现只显示被包
  • UWP 从 TreeView 控件获取选定节点

    如何从 a 中获取当前突出显示 选定的节点TreeView控制 根据文档here应该可以迭代控件的SelectedNodes财产但它总是空的 EDIT 事实证明这是 XAML 的一个实际错误 已跟踪here 在修复之前 接受的答案可以作为解
  • 如何更改传递给函数的结构体的值

    嗨 朋友们 我正在练习结构 我有这两个函数 其中一个返回结构 然后将其复制到 main 中的本地结构 我的第二个函数通过输入不同的实体来更改这些本地结构成员 现在我在调用每个函数后打印了结果 令我惊讶的是我注意到两个函数之后的打印结果是相同
  • excel:如何识别包含从关键字列表中获取的文本关键字的行

    我有一列 称为 A 数据 其中每个单元格包含一长串单词 例如 COLUMN A HORNBACH BAUMARKT ETOY ETOY ALIGRO CHAVANNES PR DIPL ING FUST AG ETO ETOY AGIP S
  • 从绿色到红色取决于百分比

    我有一个民意调查系统 我希望这次民意调查的答案是彩色的 例如 如果为 10 则为红色 如果为 40 则为黄色 如果为 80 则为绿色 所以我希望我的 javascript 代码使用 rgb 颜色根据给定的百分比生成颜色 function h
  • Facebook Conceal - 图像加密和解密

    我正在尝试使用 Facebook Conceal Library 加密和解密图像 这是我第一次使用它 因此如果它微不足道 请耐心等待 我查看了有关 SO 的其他问题 以找出异常的原因 但我无法使其正常工作 这是我到目前为止所做的 集成 我使
  • ASP.NET 中的 config.xml 中的 Quartz.NET

    有人可以建议我做错了什么吗 我正在尝试设置quartz 以便在启动时它会读取xml 配置文件 文件里面有一个工作可以激活我的HelloEmail Job cs类 它被正确创建 扩展IJob与执行方法中的逻辑 该 xml 还具有一个每分钟触发
  • CSS3中有没有办法为列指定不同的宽度?

    我想使用 CSS 来呈现两列布局 我正在使用的标记是这样的 div style margin left 20px margin top 20px div picture box div div name div div 有没有办法让一列的宽
  • JUnit - 阻止它在完成后退出?

    快速 JUnit 问题 我正在运行一些单元测试 其中涉及启动 GUI 并执行大量操作 我想在测试后查看结果以目视确认 然而 它会到达代码末尾并退出 正如它应该的那样 如果我想覆盖它 我可以在测试的最后一行放置一个断点 但这很尴尬 有什么选项
  • 从其他 Pig 脚本调用 Pig Latin 脚本

    我有一个关于 PIG Latin 的问题 有什么方法可以从另一个猪脚本中调用某个猪脚本吗 我知道可以运行用户定义的函数 UDF 例如 REGISTER myudfs jar A LOAD student data AS name chara
  • Catalina.out 内存泄漏错误

    我仍然看到这个错误tomcat logs catalina out Dec 29 2011 4 04 36 PM org apache catalina loader WebappClassLoader clearReferencesThr
  • 如何在 iOS UISearchBar 中限制搜索(基于打字速度)?

    我有 UISearchDisplayController 的 UISearchBar 部分 用于显示来自本地 CoreData 和远程 API 的搜索结果 我想要实现的是 延迟 远程API上的搜索 目前 对于用户输入的每个字符 都会发送一个
  • SQLException:此结果集已关闭

    我正在尝试比较三个值Resultset 但我尝试运行它时似乎出现异常 有人可以帮助我解决哪里出了问题吗 我将不胜感激任何帮助 这是引发错误的代码片段 java sql Connection connDB null java lang Obj
  • C# 中使用动态项反序列化 json 对象

    我有以下 json 文档 name bert Bikes Bike1 value 1000 type Trek Bike2 value 2000 type Canyon 可能还有其他自行车 如 Bike3 BikeN 我想反序列化为 C 对
  • 如何读取 ASP.NET Core 项目中的本地文件?

    如果我想从项目中读取本地文件 给定项目目录的相对路径 我该如何实现 您可以获得ApplicationBasePath from PlatformServices ApplicationEnvironment 这将使解析相对于应用程序基本路径
  • 使用 jQuery/JS 检查图像 HTTP 状态代码?

    是否可以使用 jQuery JS 检查图像的状态代码 例如 img1 http upload wikimedia org wikipedia commons thumb 2 26 YellowLabradorLooking new jpg
  • 适用于 Windows 桌面版 Visual Studio 2012 Express 的 Asp.Net 网站扩展 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 目前 我有 Visual studio 2012 express for windows 我想在其上构建 asp net 网站 但它目前没有任何规定 我该怎么办 您可以安装 Vi
  • Lambda 代码适用于 Node v8.10,但不适用于 Nodejs v10.x

    我正在学习 lambda 课程 该课程是使用 v8 10 完成的 我正在尝试使用nodejs v10 x 因为这是我将来想在我的项目中使用的 我不明白为什么 const uuid require uuid line 仅在 nodejs v1