如何在AWS Lambda中加载npm模块?

2024-02-23

我使用基于 Web 的编辑器创建了多个 Lambda 函数。到目前为止,一切都很好。我现在想开始使用模块扩展这些模块(例如 Promise 的 Q)。我不知道如何将模块发送到 Lambda,以便我的函数可以使用它们。

我已读完在 AWS Lambda 中使用包和本机 Nodejs 模块 https://aws.amazon.com/blogs/compute/nodejs-packages-in-lambda/但它似乎涉及设置 EC2 并从那里运行 Lambda 函数。创建函数时有一种上传 zip 的机制,但这似乎涉及发送本地开发的函数。由于我在基于网络的编辑器中工作,这似乎是一个奇怪的工作流程。

如何简单地部署一些模块以在我的 Lambda 函数中使用?


如果不上传,则无法加载 NPM 模块.zip文件,但实际上您可以将此过程简化为两个快速命令行。

就是这样:

  1. 将您的 Lambda 函数文件放在单独的目录中。这是因为你安装了npm在本地为 Lambda 打包,并且您希望能够隔离和测试要上传到 Lambda 的内容。

  2. 在本地安装 NPM 包npm install packageName当您位于您在步骤 #1 中创建的单独 Lambda 目录中时。

  3. 确保您的函数在本地运行时有效:node lambdaFunc.js(你可以简单地注释掉这两个export.handler代码中的行以调整代码以在本地与 Node 一起运行)。

  4. 进入 Lambda 目录并压缩contents, 确保not包括目录本身。

    zip -r lambdaFunc.zip .
    
  5. 如果您有aws-cli已安装,如果您想让您的生活更轻松,我建议您安装它,您现在可以输入以下命令:

    aws lambda update-function-code --function-name lambdaFunc \
    --zip-file fileb://~/path/to/your/lambdaFunc.zip
    

    (上面的 lambdaFunc 部分没有引号,以防您像我一样想知道)

  6. 现在您可以点击test在 Lambda 控制台中。

  7. 我建议为上述两个命令添加一个简短的别名。以下是我的更长的 Lambda 更新命令:

    alias up="aws lambda update-function-code --function-name lambdaFunc \
    --zip-file fileb://~/path/to/your/lambdaFunc.zip"
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在AWS Lambda中加载npm模块? 的相关文章

  • 使用 npm API 检索带有版本的私有 npm 包列表,可能吗?

    我在 npmjs org 上有一个私有 npm 注册表 其中包含几个私有 npm 包 我们正在转向内部私人 npm 注册表 verdaccio 长话短说 使用我们的 AWS 基础设施 verdaccio 服务器可能会因多种原因而被重建 主要
  • 在 aws-cdk 上的 aws-rds 上,使数据库可公开访问的设置在哪里?

    使用 AWS RDS 控制台和 CLI API 都有一个开关可以使数据库可公开访问 但我找不到使用提供的构造使用新的 aws cdk 来实现此目的的方法 Cloud Formation 类 例如 CfnDBInstance 中有一个布尔值
  • 如何将 kubernetes LoadBalancer Ingress URL 发布到 aws Route53

    今天 当我通过 aws 使用 kubernetes 启动一个应用程序时 它公开了一个公开可见的 LoadBalancer Ingress URL 但是要将其链接到我的域以使公众可以访问该应用程序 我需要在每个设备上的浏览器中手动进入 aws
  • AWS LoadBalancer监听多个端口

    我有一些应用程序在 aws 中作为微服务运行 其中一些在端口 80 上运行 一些在端口 3000 上运行 我希望我的 ALB 侦听这两个端口上的流量 然后我有一个ListenRules将流量引导至微服务 我想实现如下所示的目标 Resour
  • AWS 卷备份为空

    我是 AWS 新手 我有一个在 AWS 中运行的实例 现在我想将该实例卷放入新实例中 该卷包含大约 8GB 的 内容 我按照以下帖子中的第一个答案进行操作 更改 ec2 实例的密钥对 https stackoverflow com ques
  • npm install 始终使用神器注册表并忽略 .npmrc 文件

    我的 npmrc 文件以前包含registry https company jfrog io如此一来npm install使用了该注册表 现在我想在我的个人项目中使用公共注册表 但即使我删除了 npmrc 文件 甚至在包含公共注册表的项目根
  • DynamoDB 中的时间戳应使用什么数据类型?

    我是 DynamoDB 新手 我希望创建一个使用 DeviceID 作为哈希键 时间戳作为范围键和一些数据的表 DeviceID 123 Timestamp 2016 11 11T17 21 07 5272333Z X 12 Y 35 在
  • 亚马逊 AWS CloudFront 声称不存在这样的存储桶

    我正在尝试设置 CloudFront 来提供图像 但当前无法访问它并返回错误 指定的存储桶不存在
  • 使用 python boto3 管理 Route53 中具有多个 IP 的 A 记录

    我的route53中有一条A记录 后面有多个IP 例子 A record dummy xyz com 点IPs 1 1 1 1 2 2 2 2 和 3 3 3 3路由策略 Simple 我使用下面的代码来更新单个 IP 的记录 Change
  • 从 node.js 创建对 AWS ES 实例的有效签名请求

    我试图找到一个示例 说明如何连接到 Node js 中的 AWS ES 实例 然后通过一个简单的请求访问 ES 集群 我正在尝试使用elasticsearch节点包 https www npmjs com package elasticse
  • 使用 Terraform 管理访问 RDS 数据库的凭据时出现问题

    我通过 Terraform 创建了一个秘密 该秘密用于访问也在 Terraform 中定义的 RDS 数据库 并且在秘密中 我不想包含username and password 因此我创建了一个空密钥 然后在 AWS 控制台中手动添加凭证
  • 从本地计算机连接到 AWS 上的 Neptune

    我正在尝试从办公室的本地计算机连接到 AWS 实例中的 Neptune DB 就像从办公室连接到 RDS 一样 是否可以从本地计算机连接 Neptune 数据库 Neptune 数据库是否公开可用 开发人员有什么方法可以从办公室连接 Nep
  • 已安装全局 NPM 包但未找到命令

    我已经全局安装了两个 npm 包 下载 https www npmjs com package download and 谜虚拟盒 https www npmjs com package enigmavirtualbox通过命令行 npm
  • 每次在我的 AWS SQS 目标上推送通知时如何触发事件?

    我正在将 AWS SQS 用于 Amazon MWS 订单 API 每当有人从已将我添加为其开发人员的卖家帐户订购时 亚马逊都会将通知发送到我的 AWS SQS 应用程序 我可以从那里提取通知 但为此 我必须创建一个调度程序来提取通知 我是
  • 带有 AWS S3 文件的 Icecast 服务器

    我目前正在运行 Icecast 服务器 用于在 EC2 实例上传输音频 目前我所有的 mp3 文件都存储在 EC2 实例上 我想将它们移动到 AWS S3 进行存储 到目前为止 我已经能够找到能够更新播放列表 https mediareal
  • 角度代理配置不起作用

    我不明白我错在哪里 附 已经尝试通过这个答案修复但仍然不起作用 Angular CLI 代理到后端不起作用 https stackoverflow com questions 39809008 angular cli proxy to ba
  • X-Amz-Expires 是向 AWS 发出的请求所需的标头/参数吗?

    Is X Amz Expires必需的标头 参数 官方文档不一致 用在一些例子 http docs aws amazon com AmazonS3 latest API sigv4 query string auth html 虽然不在ot
  • npm install 不起作用,抛出错误

    我正在尝试在 nodejs 中安装 yo 和其他一些软件包 但是我不断收到错误 我是节点新手 所以我有点迷失 我运行的是 Mac OS X 10 10 3 我正在使用的命令是 sudo npm install global yo 这样做会给
  • Laravel Homestead 中 npm 安装错误有解决方案吗?

    Windows 10 家园 虚拟盒6 0 8 流浪者2 2 5 节点 v12 5 0 npm v6 10 1 我想做的就是在新安装的 Laravel 应用程序中执行 npm install 命令 但我不断收到错误 经过两天的谷歌搜索并尝试了
  • 如何上传文件 - sails.js

    我可以下载图像和 pdf 但无法下载文档文件 doc pptx odt 下载文档 doc pptx odt 时 仅将其下载为 ZIP XML 文件 我可以做什么 我在用着 填写上传文件文档 https github com balderda

随机推荐

  • 如何在iOS上创建漂亮的按钮? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不确定这是否是一个完全愚蠢的问题 我只是没有看到它 但我只是明白了 苹果公司在很多场合都使用过这个漂亮的闪亮按钮 例如跑表 现在 如
  • 汇编器如何在硬件级别工作?

    我一直在网上阅读有关汇编器工作的信息 但它非常令人困惑 总结到目前为止我所理解的是 汇编器基本上是一个文本解析器 可以访问查找表以将汇编语言指令映射到等效的二进制指令 我对么 如果是的话 这个查找表存在于 CPU 的物理硬件中的什么位置 C
  • go 基准测试中 allocs/op 和 B/op 是什么意思?

    当我运行基准测试时go test v bench benchmem 我看到以下结果 f1 10000 120860 ns op 2433 B op 28 allocs op f2 10000 120288 ns op 2288 B op 2
  • Python - 使用点列表从网格 NetCDF 中提取数据,无需 for 循环

    以下示例使用东风的 Unidata 样本 netCDF 数据集 可以从这里下载的 https www unidata ucar edu software netcdf examples sresa1b ncar ccsm3 example
  • 使用 Javascript 的 Chromeless 播放器中的全屏选项?

    我正在使用 Youtube Javascript API 来开发 chromeless 播放器 你能告诉我如何在播放器上使用 Javascript 添加 开发 全屏控制 吗 YouTube api 中当前不存在此内容 相反 您可以使用 ja
  • 如何每年自动更改年龄

    我写了这个程序 但我有一个变量 年龄 我该如何做才能不必每年改变狗的年龄 换句话说 它应该自动改变 你应该保存生日 而不是保存年龄 这样可以在需要时计算年龄
  • ng2-charts + 如何自定义X轴标签的位置?

    我在用着https valor software com ng2 charts https valor software com ng2 charts 用于生成以下图表 Expected Graph Actual Graph Right n
  • Jest&material-ui:如何测试特定图标的存在?

    我最近将一个应用程序迁移到我喜欢的 mui v4 还完成了更新我们使用 jest enzyme 运行的测试套件 例如我现在喜欢mount代替shallow 一个问题是我找不到一种方法来测试图标的存在 在撰写本文时 我正在使用所有最新版本的m
  • 如何在进程结束后自动关闭`qemu`的执行?

    我想要的是qemu打开并显示输出后的窗口运行后自动关闭pintOS 就像我运行命令时一样pintos run alarm multiple in tcshshell qemu 显示过程开始 然后一些alarm notifications然后
  • 无法找到 ASP.NET CodeDom 提供程序错误

    我在服务器上部署时遇到 ASP NET 错误 无法找到 CodeDom 提供程序类型 Microsoft CodeDom Providers DotNetCompilerPlatform CSharpCodeProvider Microso
  • 如何使用 LaunchDaemons (launchd) 启动 Program.app?

    我放置了以下内容com apple test plist文件夹中的文件 系统 库 LaunchDaemons
  • 跨服务器SQL

    我想将数据从一台服务器的数据库移植到另一台服务器的数据库 这两个数据库都位于不同的 mssql 2005 服务器上 复制可能不是一个选项 因为目标数据库是按 时间间隔 从头开始生成的 我最好会做类似的事情 insert from db1 t
  • 如何使用 Razor 引擎在 MVC 5 项目上添加日期选择器 Bootstrap 3?

    我需要一些关于如何安装的指南日期选择器 http eternicode github io bootstrap datepicker 使用 Razor 引擎的 MVC 5 项目上的 Bootstrap 3 我找到了这个链接here http
  • Matplotlib Figsize 不受尊重[重复]

    这个问题在这里已经有答案了 我想用 matplotlib 绘制一个正方形图 也就是说 我希望整个图形是正方形的 当我使用以下代码时 生成的图像的宽度仍然比高度大一点 为什么 matplotlib 不尊重我提供的 Figsize import
  • 当我们有客户端会话时,为什么需要 JWT?

    据我所知 JWT 是无状态令牌 它存储有关客户端声明的签名信息 并通过授权 HTTP 标头传递到服务器 我的问题是 当我们已经有了客户端会话时 为什么还需要 JWT https github com mozilla node client
  • 将数字转换为时间

    如何将数字 1 33408564814814 转换为时间 32 01 05 如果您确实想要结果作为字符串 您可以使用如下函数 set serveroutput on format wrapped declare function days
  • HDFS 文件系统的 URL

    我在 HDFS 中有一些数据 user Cloudera Test 我可以通过运行很好地查看记录hdfs dfs cat Test 现在同一个文件 我需要在 scala 中将其读取为 RDD 我在 scala shell 中尝试了以下操作
  • 如何在pyspark中将DenseMatrix转换为spark DataFrame?

    除了以下使用 Scala 的示例之外 我没有找到任何 pyspark 代码将矩阵转换为 Spark 数据帧 有谁知道如何使用 python 代替 如何将 mllib 矩阵转换为 Spark 数据帧 https stackoverflow c
  • Activity.finish() 已调用,但 Activity 仍加载在内存中

    当我在调试器上运行我的应用程序时 我得到主线程和 3 个活页夹线程 单击按钮 我拨打电话Activity finish 看起来它会在 UI 关闭并返回主屏幕时结束 Activity 但是 在调试器中 它仍然将主线程和 3 个绑定器线程显示为
  • 如何在AWS Lambda中加载npm模块?

    我使用基于 Web 的编辑器创建了多个 Lambda 函数 到目前为止 一切都很好 我现在想开始使用模块扩展这些模块 例如 Promise 的 Q 我不知道如何将模块发送到 Lambda 以便我的函数可以使用它们 我已读完在 AWS Lam