厌倦了仅仅为了测试您的 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中文网其他相关文章!

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境