首页 >web前端 >js教程 >使用 Javascript/Node.js 在本地运行 lambda

使用 Javascript/Node.js 在本地运行 lambda

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-04 06:23:45649浏览

Running lambdas locally using Javascript/Node.js

厌倦了仅仅为了测试您的 AWS Lambda 而部署到云?这就像给自己寄一封信只是为了校对它——缓慢、昂贵,而且完全没有必要。

如果您可以直接从 JavaScript 应用程序在本地调用 Lambda,会怎样?无需云端往返,无需等待,只需即时反馈。借助 AWS SAM(无服务器应用程序模型) 和少量 Node.JS/JavaScript,您可以在计算机上测试和调试 Lambda,从而节省时间和金钱?。

先决条件:

我使用的是 Windows PC,并在继续之前设置了以下内容:

  • AWS SDK
aws --version
  • SAM CLI
sam --version
  • 码头工人
docker --version
  • Node.js
node --version

让我们开始吧!

我们将首先使用 init 命令创建一个演示应用程序,然后进一步在应用程序代码 (Nodejs) 中调用 lambda。

1>导航到您要设置项目的文件夹。

sam init --runtime nodejs

这将创建一个基本的 Hello world 应用程序。它有一个简单的 Lambda 处理程序,它接收事件并返回从特定 URL 接收的数据以及一条 Hello World 消息。

让我们更深入地了解这些文件实现的内容以及代码的工作原理:

  • SAM 模板 (template.js) ->它实现 HelloWorld Function,其中使用设置为 Hello World SLASH 的 Code URI 属性。这意味着 Lambda 处理程序代码位于 Hello World 文件夹内。
    • app.js ->这是在 SAM 模板的 Handler 属性中引用的,它包含名为 Lambda Handler 的导出函数。

您会注意到 package.json 中有一个名为“axios”的依赖项,请注意该模块仅用于向给定 URL 发出 HTTP 请求。

2> 通过导航到包含该文件的文件夹来安装 package.json 中的依赖项,然后使用命令:

npm install

3> 现在,通过运行命令在本地启动 Lambda 服务。

sam local start-lambda

所以,现在本地 Lambda 服务正在端口 3001 上运行。

4> 我们将使用 AWS SDK 从应用程序代码中调用 lambda 函数。为此,我们创建一个示例 node.js 项目。创建一个新文件夹,导航到该文件夹​​并输入命令。

npm init
npm install aws-sdk --save

5> 现在创建 test.js 文件并引用 AWS SDK,配置 AWS 区域,实例化 Lambda 对象。

aws --version

这里的参数对象,调用Lambda Function,根据应用代码替换函数名。该端点是指启动本地 lambda 服务的端点。

6> 现在在新终端中运行命令:

sam --version

7> 验证和测试: 当您导航回 AWS SAM powershell 时,您可以看到它在本地调用 Lambda 处理程序,方法是首先将函数加载到 Docker 容器中,然后使用我们的输入事件数据执行它。
现在导航回另一个终端,您可以看到 Lambda 函数的响应,状态代码 200 ✅,消息 Hello World,以及位置 IP 地址?。

总结

现在您已经有了 — 一种更快、更智能的方式来测试您的 AWS Lambda 函数,而无需离开舒适的本地设置。通过使用 JavaScript 和 NodeJS 在本地调用 Lambda,您已经将效率提升到了一个全新的水平。现在,您可以更快地迭代、更智能地调试并构建更酷的应用程序,同时保持较低的云成本。

祝您编码愉快,祝您的 Lambda 在本地始终像在云中一样顺利运行! ?

以上是使用 Javascript/Node.js 在本地运行 lambda的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn