如何解决-无法在AWS lambda控制台中的模块外部使用导入语句

2023-12-30

我正在 AWS lambda 控制台中尝试此操作。 我已经在终端上安装了 npm install @aws-sdk/client-kinesis 并使用压缩文件并创建了一个具有 client-kinesis 的 lambda 层。

如果使用以下内容就可以了!

 // ES5 example
const { KinesisClient, AddTagsToStreamCommand } = require("@aws-sdk/client-kinesis");
exports.handler = async (event) => {
    // TODO implement
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};

如果我使用以下内容,则会出现错误 -

//ES6+ example 
import { KinesisClient, AddTagsToStreamCommand } from "@aws-sdk/client-kinesis";
     
exports.handler = async (event) => {
    // TODO implement
    const response = {
       statusCode: 200,
       body: JSON.stringify('Hello from Lambda!'),
    };
    return response; 
};
     
"Runtime.UserCodeSyntaxError: SyntaxError: Cannot use import statement outside a module",

问题 -

  1. 如何从 AWS lambda 控制台进行这项工作?
  2. 用作ES5 vs ES6 有什么坏处吗?仅仅是语法还是还存在性能问题?

Thanks !


  1. 为了在 lambda 中实现此功能,您必须:
  • Use NodeJS 版本 16 或更高版本(更新)适用于您的 Lambda 运行时
  • Add "type": "module"到你的 package.json 文件中,以便告诉 Node 使用 ES6 模块而不是传统的 ES5/CommonJS 语法。
  1. 如果存在性能问题,那是极小的,我们不必担心! PS:我建议在更改运行时时测试 lambda 使用的 ES5/CJS/CommonJS 模块的兼容性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决-无法在AWS lambda控制台中的模块外部使用导入语句 的相关文章

  • 如何在控制台上打印来自post请求的数据

    我正在尝试在控制台上打印发布数据 app js var express require express http require http var app express app set port process env PORT 7002
  • AWS Cloudwatch 使用 Docker 容器进行日志 - NoCredentialProviders:链中没有有效的提供商

    我的 docker compose 文件 version 2 services scraper build Scraper logging driver awslogs options awslogs region eu west 1 aw
  • 使用 eb-cli 创建单实例 Elastic Beanstalk 应用程序

    所以我有一个带有适当 Procfile Buildfile 的 java 应用程序 我已在我们的临时 Elastic Beanstalk 环境中运行 eb create 但我必须进行手动配置更改以使其成为单一实例类型而不是负载平衡实例类型
  • 您可以克隆 AWS lambda 吗?

    针对不同环境的克隆 分期 QA PROD DEV 等 有没有一种快速简单的方法来克隆我的 lambda 给出不同的名称并从那里调整配置 您需要在新帐户中重新创建 Lambda 函数 转到 lambda 函数 单击 操作 并导出您的函数 下载
  • 如何检测和测量 Node.js 中的事件循环阻塞?

    我想监视 node js 中事件循环每次运行需要多长时间 但是我不确定衡量这一点的最佳方法 我能想到的最好的方法是这样的 var interval 500 var interval setInterval function var last
  • 如何使用 Web 套接字和 Angular CLI 设置代理

    我有一个使用 Angular CLI 构建的简单 Web 应用程序 我希望它使用网络套接字与后端通信 我已经编写了后端 并使用一个简单的 index html 页面进行了测试 服务器可以在套接字上发送和接收该页面 在我的 angular c
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • 如何找到 api gateway stage 的 arn?

    我正在尝试使用 awscli 将标签添加到我的 api 网关阶段https docs aws amazon com cli latest reference apigateway tag resource html https docs a
  • Mongodb更新很多

    我正在使用express js 和 npm 模块 mongodb 进行开发 并以 mongodb 作为数据库 我有两个集合 即 用户 和 活动 一个用户可能有数千个活动 首先 我将用户的 id 姓名和图片 url 存储到 关系的活动文件 请
  • Child_process 处理带有回车符 (\r) 的 STDOUT 流

    我正在编写一个简单的应用程序 它允许工作中的内部系统请求从远程服务器到使用 REST 调用发起的另一个远程服务器的复制过程 使用 rsync 我已经对express框架足够熟悉 并且刚刚开始尝试child process库 并偶然发现了一个
  • 使用 python 写入 aws lambda 中的 /tmp 目录

    Goal 我正在尝试将 zip 文件写入 python aws lambda 中的 tmp 文件夹 因此我可以在压缩之前提取操作 并将其放入 s3 存储桶中 Problem 操作系统 Errno30 只读文件系统 这段代码在我的计算机上进行
  • 为什么从浏览器上传到 S3 时出现 403 错误?

    因此 我尝试查看此处之前的答案 但似乎没有任何效果 我正在使用 Dropzone 它似乎发出 OPTIONS 请求来获取所有允许的 CORS 相关信息 但它似乎没有正确返回 因此 通过查看 Chrome 开发工具 我有以下请求标头 Host
  • 重写规则,以便正确加载具有绝对路径的 css 和 js 文件

    我花了两个小时 但我无法弄清楚 我不知道如何谷歌解决方案 这是我在 htaccess 文件中的重写规则 RewriteCond REQUEST URI blog RewriteRule blog http localhost 2368 1
  • 如何在 Google Translate Node.js 代码中设置 API KEY

    我正在尝试创建一个使用 Google Translate API 的 Node js 代码 我从以下代码中得到了谷歌文档 https cloud google com translate docs translating text 但是当我
  • 护照:登录和帐户注册的不同重定向

    我在我的应用程序中使用护照模块 github身份验证 我想根据操作进行重定向 我检查这是否只是正常登录或者用户是否第一次登录 passport use new GitHubStrategy clientID conf github app
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • AWS CDK 授予堆栈外部资源的权限

    我对 AWS CDK 相当陌生 并且没有太多使用 AWS 的经验 在我正在编写的 CDK 堆栈中 我必须向使用其他 CDK 模板构建且已位于 aws 中的资源授予权限 假设我的堆栈 A 包含一个 lambda 该 lambda 将从另一个服
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • Node.js 中的异步或步骤

    我无法让我的异步代码与 node js 一起使用 尝试异步和步骤库 代码仅返回第一个函数 似乎没有执行其余函数 我究竟做错了什么 thanks var step require step step function f1 console l
  • 我想在“npm install”上下载一些资源,大概使用“预发布”脚本

    具体来说 我想在运行 npm install 时下载 angular min js 从我读到的here https npmjs org doc scripts html做这些事情的地方是在预发布脚本 它还提到我不需要依赖在系统上安装 wge

随机推荐